Laboratorio de Tecnologías Móviles
UNIVERSIDAD CATÓLICA DE SANTA MARÍA
Escuela Profesional de Ingeniería de Sistemas
Sesión 1:
Fundamentos de App Móviles
I. OBJETIVOS
• Crear un nuevo proyecto en Android Studio.
• Seleccionar parámetros de configuración.
• Crear un emulador AVD para ejecutar las actividades.
II. TEMAS A TRATAR
• Sistema operativo Android
• Componentes de una actividad de Android
• Estructura de un proyecto
III. MARCO TEORICO
ANDROID
Android es un sistema operativo para dispositivos móviles, desarrollado en sus inicios por
Android Inc. y adquirido posteriormente por Google. Su modelo desarrollado es de código
abierto basado en una versión modificada de Linux. Android proporciona un conjunto de
herramientas y APIs a través de un ambiente de desarrollo integrado Android Studio para
construir apps para Android, basado en IntelliJ IDEA.
COMPONENTE DE UNA ACTIVIDAD ANDROID
Las aplicaciones Android son escritas en Java. Las herramientas del SDK compilan el código y
generan un paquete Android, y un archivo .apk. Cada aplicación por defecto tiene acceso solo
a los componentes que requiere. Esto crea un entorno seguro en el cual una aplicación no
puede acceder a partes del sistema donde no tiene permiso.
Los principales componentes de una aplicación son:
A. Activity: Representa una simple pantalla con una interfaz de usuario. Aunque las
actividades trabajan juntas para formar una experiencia del usuario cohesiva, cada una es
independiente de la otra. De esta manera, una aplicación diferente puede iniciar cualquiera
de las actividades. Una actividad es implementada como una subclase de Activity
B. Service: componente que se ejecuta en segundo plano para realizar operaciones de larga
duración o realizar trabajos para procesos remotos. Un servicio no proporciona una interfaz
de usuario. Un servicio es implementado como una subclase de Service
C. ContentProvider: gestiona un conjunto compartido de aplicaciones de datos. Los datos
pueden ser almacenados en un sistema de ficheros, una base de datos SQLLite, en la web,
o en otra locación de almacenamiento persistente. A través del proveedor de contenido,
otras aplicaciones pueden consultar o incluso modificar los datos. Este componente es
implementado como una subclase de ContentProvider y debe implementar un conjunto
estándar de APIs que permitan a otras aplicaciones realizar transacciones.
1 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
D. BroadcastReceiver: componente que responde a los mensajes de difusión en todo el
sistema. Varias difusiones son originadas en el sistema (aviso de batería baja, o captura de
imagen). Las aplicaciones pueden también iniciar difusiones (notificar a otras aplicaciones
que un programa ha sido descargado en el dispositivo y está disponible). Este componente
no muestra una interfaz de usuario, pero puede crear una notificación en la barra de estado
para alertar al usuario cuando un evento de difusión ocurre.
Una aplicación Android es una colección de tareas, cada una de las cuales es llamada una
actividad. Cada actividad dentro de una aplicación tiene un único propósito e interfaz de
usuario
ESTRUCTURA DE UN PROYECTO
La estructura de un proyecto en Android se puede examinar en el panel de navegación del
proyecto. Incluye una carpeta con el nombre de nuestra aplicación. Esta carpeta contiene la
estructura y los archivos de la aplicación. Los elementos más importantes de la estructura de
la aplicación están en el directorio de app. Éstas incluyen:
• manifests/[Link]: Este es un archivo fundamental en un proyecto Android,
que se genera automáticamente cuando se crea el proyecto. En este archivo se declara la
información básica que necesita el sistema Android para ejecutar la aplicación: nombre del
paquete, la versión, las actividades, los permisos, las intenciones o hardware necesario.
• java /: Esta es una carpeta que contiene las clases de Java organizadas en forma de
paquetes. Cada clase que se crea estará en nuestro espacio de nombres paquete de
proyectos ([Link]). Cuando creamos nuestro primer proyecto, también
creamos su actividad principal, por lo que la clase de actividad debería estar en este
paquete.
• main /: Este es el lugar que contiene las fuentes de nuestra aplicación.
• androidTest /: Este es el lugar que contiene las clases de prueba de las clases Java que
necesitan ser probadas.
• res /: Esta es una carpeta que contiene los recursos del proyecto, tales como los archivos
XML que especifican los diseños y menús, o archivos de imagen.
• Gradle Scripts: Este archivo es el script utilizado para construir nuestra aplicación.
La carpeta de recursos
Los recursos son todos los activos no de código asociadas con nuestra aplicación. Los
elementos tales como imágenes o cadenas se exteriorizan respecto al código como recursos,
por lo que es fácil de actualizar sin cambiar el código.
Los recursos se distribuyen en las siguientes carpetas:
• drawable /: Esta es una carpeta que contiene las imágenes que se utilizan en nuestra
aplicación. Hay diferentes carpetas categorizadas en diferentes densidades de pantalla.
Cuando creamos nuestro primer proyecto, también se ha creado un icono de la aplicación
por defecto.
• layout /: Esta es una carpeta que contiene las definiciones XML de las vistas y sus
elementos.
• mipmap /: Esta es una carpeta que contiene los iconos de la aplicación.
• values /: Esta es una carpeta que contiene los archivos XML que definen conjuntos de
pares namevalue. Estos valores pueden ser de colores, cadenas, o estilos. Hay diferentes
valores de carpetas clasificadas en diferentes opciones de la pantalla para adaptar la
interfaz a ellos.
IV. ACTIVIDADES (La práctica tiene una duración de 2 horas)
Instalación de Android Studio
1. Si no tiene instalado el Android Studio en su máquina, proceda a descargarlo e instalarlo del
siguiente link:
[Link]
2 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
Creación de un nuevo proyecto Android
2. En el Android Studio, Crea un Nuevo Proyecto:
3. En el cuadro de diálogo New Project seleccione Empty Activity. Presione el botón Next
4. En el cuadro de diálogo New Project coloque como Nombre de la aplicación HolaMundo y en
Language seleccione Java. haga click en el botón Finish.
3 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
5. Si es la primera vez, probablemente necesite instalar algunos componentes necesarios.
6. Lo que se muestra a continuación es el proyecto inicial con los archivos: [Link] y
activity_main.xml en la ventana principal del IDE del Android Studio.
7. Ejecute la ‘app’ presionando el botón play (Mayús+F10). Si no se tiene un Dispositivo Virtual
hay que crear uno nuevo.
4 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
8. Después de ejecutar la app aparecerá el emulador del dispositivo en ejecución.
5 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
9. No es necesario cerrar el emulador para realizar modificaciones a la App.
10. En el archivo [Link] agregue el siguiente código enmarcado:
import [Link];
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
//setContentView([Link].activity_main);
TextView tvSaludo = new TextView(this);
[Link]("Bienvenido a tu primer app!!");
setContentView(tvSaludo);
}
11. Ejecute la App.
12. Puede ver las apps presionando el botón de home del emulador, observe que su aplicación
HolaMundo está instalado.
13. Depuración de un proyecto: Para realizar la depuración de la app en caso de producirse un
error, se coloca un punto de quiebre haciendo click en el borde izquierdo de la línea del código
fuente. Luego selecciona Run>Debug para ingresar al modo de depuración.
6 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
14. Luego puedes seguir con las siguientes opciones del Debugging Actions.
Modificando la app
15. En el archivo [Link] retorne al código original y agregue el código enmarcado.
Observe que la función setContentView recibe como parámetro el activity_main, que
representa el diseño (layout) de tu app.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
7 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
[Link](savedInstanceState);
setContentView([Link].activity_main);
}
public void btnSaludo(View view) {
[Link](this, "Nuevo Saludo", Toast.LENGTH_LONG).show();
16. En el archivo activity_main.xml modifique el código como se ve en el siguiente listado. Para
visualizar el código XML presione Ctrl+B (Code).
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:text="Mi primer app Android!" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dip"
android:text="Haz click!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
17. Luego presione la pestaña Design, seleccione el control Button y luego en la sección Common
Attributes para el atributo onClick elija la función btnSaludo.
18. Ejecute la aplicación.
8 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
19. Observe que se agregó automáticamente el código en Xml del evento onClick.
V. Ejercicios
Realice un informe donde resuelva los siguientes ejercicios:
1. Complete desde el punto 7 (Task 5) hacia adelante del sitio de Android developer:
[Link]
world?index=..%2F..%2Fandroid-training#6
2. Crea un nuevo proyecto, diseñando la interfaz para el registro de datos de estudiante.
VI. Cuestionario
1. ¿Qué importancia tiene el desarrollo de Aplicaciones móviles frente al desarrollo de
aplicaciones web?
2. ¿Qué App Móviles son las que más se utilizan en el mercado?
VII. Bibliografía y referencias
9 José Sulla Torres – Jorge Martínez Muñoz
Laboratorio de Tecnologías Móviles
1. Luján Castillo, José Dimas, Android Studio. Aprende a desarrollar aplicaciones, AlfaOmega, 2018
2. [Link]
10 José Sulla Torres – Jorge Martínez Muñoz