0% encontró este documento útil (0 votos)
9 vistas169 páginas

Temas y Estilos

El documento aborda la definición y aplicación de estilos en Android, destacando su importancia para la separación del diseño y contenido. También se discuten los fragmentos como componentes modulares de la interfaz de usuario y el uso de SharedPreferences para almacenar datos persistentes en aplicaciones. Finalmente, se menciona la relevancia del contexto en el modelamiento de aplicaciones móviles, permitiendo una mejor adaptación a las condiciones del entorno.

Cargado por

jhosue burgos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas169 páginas

Temas y Estilos

El documento aborda la definición y aplicación de estilos en Android, destacando su importancia para la separación del diseño y contenido. También se discuten los fragmentos como componentes modulares de la interfaz de usuario y el uso de SharedPreferences para almacenar datos persistentes en aplicaciones. Finalmente, se menciona la relevancia del contexto en el modelamiento de aplicaciones móviles, permitiendo una mejor adaptación a las condiciones del entorno.

Cargado por

jhosue burgos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas y Estilos

 Un estilo es una colección de propiedades


que especifican que aspecto ha de tener un
objeto View o una ventana. Con los estilos
podemos definir propiedades como la
introducción altura, relleno, color del texto, fondo etc. Los
estilos en Android comparten la filosofía de
las hojas de estílo en cascada (CSS),
permitiendo separar el diseño del contenido.
Código más limpio
 Los estilos se definen en un fichero de
recursos distinto al layout, colocado en
el directorio /res/values. Éstos ficheros
Definir estilos no tienen porqué tener un nombre en
concreto, pero por convención se
suelen llamar [Link] ó [Link]
Los valores para <item> pueden ser una palabra clave, valor hexadecimal

 Para cada estilo hay que definir un


elemento Y un atributo name para
ese estilo (es obligatorio), después,
añadiremos un elemento <item>
para cada propiedad del estilo,
que debe tener obligatoriamente
el atributo name que declara la
Definir estilos propiedad del estilo y su valor.

 Los valores para <item> puede ser


una palabra clave, valor
hexadecimal, una referencia a un
recurso u otro valor dependiendo
de la propiedad del estilo
 En tiempo de compilación, los elementos se convierten en un recurso que podremos
referenciar posteriormente mediante el atributo name del estilo, como vimos en el primer
ejemplo (@style/CodeFont).

 El atributo parent es opcional y especifica el ID de otro estilo del cual queremos heredar sus
propiedades, pudiendo así sobreescribirlas.
Herencia

 El atributo parent sirve para heredar propiedades de otros estilos, podemos heredar
tanto de estilos del sistema como de los nuestros propios.
Aplicar estilos y temas a la interfaz
gráfica
Hay dos formas de aplicar estilos a la UI:

• A una View individual, añadiendo el atributo style a un elemento del layout.

• A una aplicación o actividad completa, mediante el atributo android:theme del


elemento <activity> o <application> en el Android manifest.

Como vimos al principio, para aplicar un estilo a una View concreta


usamos style=”@style/NombreDelEstilo
Fragment
Introducción

 Representa un comportamiento o una parte de la interfaz de usuario en


una FragmentActivity. Puedes combinar varios fragmentos en una sola
actividad para crear una IU multipanel y volver a usar un fragmento en
diferentes actividades.

 Puede pensar en un fragmento como una sección modular de una


actividad que tiene un ciclo de vida propio, que recibe sus propios
eventos de entrada
Importante

 Un fragmento siempre debe estar alojado en una actividad y el ciclo de


vida del fragmento se ve afectado directamente por el ciclo de vida de
la actividad anfitriona.

 Cuando la actividad está pausada, también lo están todos sus fragmentos, y


cuando la actividad se destruye, lo mismo ocurre con todos los fragmentos.
Share Preference

1
Situaciones
Estamos llenando un formulario y la
aplicación pasa a segundo plano Se pierden los datos

Nombre: Daniel
Nombre:

Dirección: Urdesa Central


Dirección:

Edad: 22 años
Edad:

UNIVERSIDAD GUAYAQUIL - Presentación 2


Situaciones
Pasar de una posición horizontal a una
vertical hace que los datos se pierdan

3
Share Preference
• Las Preferencias compartidas le permiten guardar y
recuperar datos en forma de clave, par de valores . Los datos
en las preferencias compartidas serán persistentes aunque el
usuario cierre la aplicación.

• Las Preferencias compartidas son específicas de la


aplicación, es decir, los datos se pierden cuando realiza una
de las opciones: desinstalar la aplicación o borrar los datos
de la aplicación (a través de Configuración).
4
Share Preference
• Android almacena la configuración de Preferencias
compartidas como archivo XML en la carpeta
shared_prefs
bajo el directorio
DATA / data / [paquete de aplicación] .

• La carpeta de DATOS se puede obtener


llamando [Link](), generalmente
es / data .
5
Share Preference
Para obtener acceso a las preferencias, tenemos tres API para elegir:

• getPreferences(): utilizado dentro de su actividad , para acceder a las


preferencias específicas de la actividad.

• getSharedPreferences(): se utiliza desde su actividad (u otro contexto


de aplicación ) para acceder a las preferencias de nivel de aplicación.

• getDefaultSharedPreferences(): utilizado en el PreferenceManager , para


obtener las preferencias compartidas que funcionan en concierto con el
marco general de preferencias de Android.
6
Share Preference
Para utilizar las preferencias compartidas, debe llamar a un método
getSharedPreferences() que devuelve una SharedPreferenceInstancia que
apunta al archivo que contiene los valores de las preferencias.

• SharedPreferences sp = getSharedPreferences (MyPREFERENCES, Context.MODE_PRIVATE);

El primer parámetro es la CLAVE y el segundo parámetro es MODO

Aparte de los privados, hay otros modos disponibles que se enumeran a


continuación:

7
Share Preference
Aparte de los privados, hay otros modos disponibles que se enumeran
a continuación:
• MODE_PRIVATE. Al configurar este modo, solo se puede acceder al
archivo utilizando la aplicación de llamada.
• MODE_APPEND. Esto agregará las nuevas preferencias con las
preferencias ya existentes.
• MODE_WORLD_READABLE. Este modo permite a otra aplicación leer
las preferencias. Esta constante fue obsoleta en el nivel API 17.
• MODE_WORLD_WRITEABLE. Este modo permite a otra aplicación
escribir las preferencias. Esta constante fue obsoleta en el nivel API 17.
8
Share Preference
• Puedes guardar algo en las Preferencias Compartidas usando
la SharedPreferences.

• Editorclase. Llamará al método de edición


de SharedPreferenceinstancia y lo recibirá en un objeto editor. Su
sintaxis es

Editor del editor = [Link] ();


[Link] ("clave", "valor");
[Link] ();
9
Share Preference
Aparte del putStringmétodo, hay métodos disponibles en la clase de editor que permite
la manipulación de datos dentro de las preferencias compartidas. Se enumeran de la
siguiente manera:
• putLong(String key, long value). Se guardará un valor largo en un editor de
preferencias.
• putInt(String key, int value). Guardará un valor entero en un editor de preferencias.
• putFloat(String key, float value). Guardará un valor flotante en un editor de
preferencias.
• contains(String key). Compruebe si existe la clave.
• clear(). Se eliminarán todos los valores del editor.
• remove(String key). Se eliminará el valor cuya clave se ha pasado como parámetro.
10
Share Preference
Existen varias de formas de dotar de persistencia a una aplicación Android:
• Bandle
• Shared Preference
• Uso de Archivos
• SQL Lite
Pero seguramente la más sencilla y menos engorrosa sea usar Shared Preferences.

Cuando se habla de persistencia se refiere a que la configuración o los valores de la aplicación


queden guardados, de modo que aunque se cierre la aplicación, al volver a iniciarla no se
perderán.

Por ejemplo cuando en talleres anteriores ustedes programaron la aplicación para obtener la
edad promedio, en el momento de la rotación se pierden los datos, la solución aplicada para
mantener la persistencia al rotar los valores de la edad promedio se perdían.
Tenemos una aplicación de la edad promedio y queremos que la edad promedio quede
guardada para próximas consultas o rotaciones.

11
Share Preference

• Con las SharedPreferences es posible almacenar datos


en pares de clave y valor, es decir, podemos definir una
clave univoca a la cual asociamos el dato que queremos
almacenar.

• Las SharedPreferences permiten recuperar la


información incluso después de haber cerrado la
aplicación.
Share Preference

SharedPreferences es un archivo XML en donde se guarda la


información de la aplicación
• Se pueden crear varios objetos SharedPreferences o
• Utilizar el SharedPreferences que la aplicación Android crea
por defecto, donde la aplicación guarda la información.
• Se puede reutilizar este archivo en el cual Android guarda la
información de la aplicación para guardar nuestra propia
información
Como se guarda la información en el
SharePreference
SharedPreferences guarda la información en la nomenclatura
clave, valor

Clave

SharedPreferences
Valor
Qué pasos debemos seguir para guardar la
información en el SharePreference por
defecto de la aplicación
1. Crear u obtener objeto SharedPreferences.

2. Hacer editable el objeto SharedPreferences.

3. Establecer información a almacenar.

4. Tranferir la información SharedPreferences.


Qué pasos debemos seguir para guardar la información
en el SharePreference por defecto de la aplicación

1. Acceder al objeto SharedPreferences de la aplicación Android por


defecto: Para ello se utiliza la clase Preferencemanager que tiene un
método estático que va ha permitir acceder u obtener el objeto xml
SharedPreferences de la aplicación. Como almacena la información
en una archivo xml SharedPreferences, se almacena con una
nomenclatura de clave, valor.

2. Una vez que hemos accedido a ese objeto o por lo menos sabemos
cual es, debemos decirle a nuestro código que ese objeto es editable
para poder modificar la información que hay en su interior.
Qué pasos debemos seguir para guardar la
información en el SharePreference por defecto de la
aplicación

3. Establecer la información que queremos almacenar, con


que nombre y con que clave. Es ahí donde entra la
nomenclatura clave valor, Para establecer la información
que queremos guardar y con que clave. Luego.

4. Transferir esa información al objeto SharePreference,


utilizando un método muy sencillo
Luego determinar cuando queremos que
esto ocurra

Una vez que tenemos esto claro, lo que tenemos que


preguntarnos es cuando queremos que esto ocurra,

• Decir cuando queremos que la información se guarde en el


SharePreference.

• Cuando queremos recuperar la información del SharePreference.


La actividad ejecuta
OnStar poco después
de haberse iniciado

La actividad estaba en
Segundo plano y Vuelve a
primer plano OnResume

Actividad pasa a Segundo


planoy ser parcialmente
visible onStop
Para que la información se almacene y se
recupere bajo cualquier circustancia. Es
decir si la aplicación se minimiza, pasa a
segundo plano, se destruye etc.

Entonces se debe escribir el código en


aquellos metodos por los cuales una
aplicación pase siempre durante su ciclo de
vida, estos métodos son
OnResume(), onPause()
21
Bienvenidos
“La Universidad de Guayaquil“

Social Media Here :


Desarrollo de Aplicaciones Móviles
Ph.D. Jorge Luis Charco Aguirre

Computación Móvil
PLATAFORMAS MÓVILES
DE COMUNICACIÓN Y
PROCESAMIENTO

Las nuevas Posibilitan el acceso App Store


plataformas móviles, ubicua e (funcionando desde
han abierto nuevas instantáneamente a mediados de 2008)
líneas para los usos y múltiples recursos incluye mas de
aplicaciones disponibles a través 420.000 aplicaciones
informáticas de Internet para el iPhone
DISPOSITIVO
MÓVIL

Es un sistema de reducido tamaño (”de bolsillo”), que típicamente


dispone de una pantalla de visualización con una entrada táctil, y/o
un teclado miniatura.

En las PDA (“Personal Digital Assistant”) usualmente las entradas y


salidas se encuentran combinadas en una misma pantalla táctil.
Servicio celular de datos, tal como
GSM, CDMA o GPRS, y más
recientemente redes 3G tales como
WCDMA, EDGE o CDMA2000.

COMUNICACIÓN Conexiones Wi-Fi, que ofrecen


prestaciones mayores, pueden ser de
DE DATOS PARA redes privadas o de redes Wi-Fi
PLATAFORMAS públicas.
MÓVILES

Acceso Internet por satelite, cuando


no están disponibles las dos anteriores.
Las conexiones se realizan a través de
satelites geoestacionarios.
Reducido ancho de banda.

Estándares de seguridad.

RETOS DE LAS Consumo de potencia.


PLATAFORMAS
MÓVILES Interferencias

Posibles daños a la salud.


LAS PLATAFORMAS MÓVILES PUEDEN
REQUERIR:

1 2 3
Tamaño (factor de Tolerancia a las Pantalla de gran
forma), peso y vibraciones y golpes; luminosidad (para
consumo de energía así como a trabajar en exteriores).
muy reducidos. temperaturas
extremas
CARACTERÍSTICAS DE
LA TECNOLOGÍA
MÓVIL

Amplio
Movilidad Ubicuidad Comodidad
alcance

Localización
Conectividad
Personalización de productos y
instantánea
servicios.
CONTROLADORES DE
LA TECNOLOGÍA MÓVIL

Amplia disponibilidad
de los dispositivos No se requiere una PC. La cultura del auricular.
móviles.

Los vendedores están La reducción de los


Mejoramiento del
impulsando el comercio precios y el aumento de
ancho de banda.
móvil. las funcionalidades.
COMERCIO
MÓVIL

01 02 03
Son actividades de Es una extensión natural Algunas aplicaciones:
comercio electrónico o del e-comercio creando Gerencias de servicios
negocio electrónico nuevas oportunidades de campo,
que se realizan en un de negocio. Localización de
entorno inalámbrico. productos, Aplicaciones
financieras.
Bienvenidos
“La Universidad de Guayaquil“

Social Media Here :


Desarrollo de Aplicaciones Móviles
Ph.D. Jorge Luis Charco Aguirre

Modelamiento de Aplicaciones basadas en su


contexto
MODELAMIENTO DE
APLICACIONES MÓVILES BASADAS
EN SU CONTEXTO

La naturaleza portátil
Son aquellos sistemas que inherente de los
toman en cuenta el dispositivos permite que
contexto en su interacción exista un gran número de
con el usuario o con la variables influyentes tales
lógica de procesamiento. como la edad, el género,
los gustos, entre otras
CONTEXTO

1 2 3
Información que Otro rasgo destacado Evoluciona deprisa. El
caracteriza al entorno del contexto es su contexto debe ser
en el cual se ejecuta validez temporal. procesado en tiempo
una aplicación o real.
servicio.
Ayuda adaptarse
mucho mejor y de
Para enriquecer
forma automática a
servicios
las condiciones del
CONTEXTO: entorno.

¿PARA QUÉ
SIRVE? Extrae la información
Proporciona un mejor necesaria para la
servicio. aplicación y lo usa
para personalizarla.
GRADOS DE
CONTEXTO

CONTEXTO CONTEXTO DE GRUPO CONTEXTO


INDIVIDUAL COLECTIVO
DONDE AQUIRIR EL
CONTEXTO

Contexto Contexto Contexto


espacial. temporal. ambiental

Contexto Contexto
personal. social
CONTEXTO VS
PERFIL

01 02 03
SON CONCEPTOS UN PERFIL DE UN USUARIO EL CONTEXTO DE UN
COMPLEMENTARIOS, Y CONTIENE INFORMACIÓN USUARIO, EN CAMBIO,
MUY RELACIONADOS. SOBRE RASGOS ESTABLES EVALÚA LA SITUACIÓN DE
DE UNA PERSONA, QUE EN LA PERSONA EN UN
GENERAL SE SUPONE QUE MOMENTO CONCRETO
VARÍAN LENTAMENTE
CON EL TIEMPO
EN QUE ENTORNOS SON
ÚTILES

Entornos urbanos, la situación de Gran impacto en la privacidad, ya que se


diferentes entidades (incluidos los debe ajustar al gusto y las preferencias del
usuarios) es dinámica y cambiante. usuario de la mejor manera.
CASO 1: Aprendizaje de idiomas como apoyo a usuarios
APLICACIONES que viven en países extranjeros.

MÓVILES
BASADAS EN SU La aplicación Android se enfoca en estudiantes
interesados en programas de intercambio entre
CONTEXTO estos dos países

La aplicación sugiere vocabulario, frases u


oraciones que son útiles para el usuario,
considerando atributos tales como el género
del usuario, la geolocalización y el lenguaje
nativo.
Sistema de aprendizaje situado capaz de
entregar contenidos a estudiantes de
ingeniería de acuerdo con el contexto.

CASO 2: Se fundamenta en la filosofía cliente-servidor. El


cliente se configura para proporcionar un
APLICACIONES acceso offline y online.

MÓVILES
BASADAS EN SU La configuración offline se hace uso de la
realidad aumentada mediante objetos
CONTEXTO modelados en 3D que son almacenados-
presentados en una computadora personal.

Mediante el acceso online el estudiante puede


seleccionar a través de una aplicación móvil,
el tipo de lectura a realizar: QR Code, mientras
el servidor gestiona los contenidos respectivos.
NECESIDAD DEL
USUARIO
Bienvenidos
“La Universidad de Guayaquil“

Social Media Here :


Desarrollo de Aplicaciones Móviles
Ph.D. Jorge Luis Charco Aguirre

Entorno de Desarrollo Android


ANDROID

1 2 3
Sistema operativo Núcleo basado en Programación de
para dispositivos el de Linux aplicaciones en
móviles Java
HISTORIA

• Android 1.1 se publica en febrero de


2009 (coincide con la proliferación de
smartphones táctiles.

Licencia apache:

✓Open Source
✓Permite a los fabricantes añadir
extensiones propietarias sin ponerlas
en manos de la comunidad del
software libre
ASPECTOS POSITIVOS

Código abierto

• Valor añadido para todos


• Mantenibilidad
• Seguridad informática
• Transparencia del uso de sensores

Servicios gratuitos de Google


ASPECTOS NEGATIVOS

01 02 03 04
Obligatorio log-in Constante Envío de Aunque el SO sea
con el ID de intercambio de localización libre, gran parte de
Google datos con Google (desactivable) su valor está en los
(dependencia) servicios gratuitos
de Google, que no
son libres.
ANDROID SDK

01 02 03 04
Licencias, Acceso al Control completo APIs para los
distribución y hardware de WiFi, de multimedia, sensores:
desarrollo GPS, Bluetooth y incluyendo la acelerómetros y
gratuitos. telefonía. cámara y el brújula.
micrófono.
ANDROID SDK

Almacenes de
datos compartidos, Aplicaciones y Widgets para la
proveedores de procesos en pantalla de inicio
contenidos, SQLite, segundo plano (escritorio).
acceso a SD Card.

Aceleración gráfica
Uso de mapas y sus
por hardware,
controles desde las
incluyendo OpenGL
aplicaciones.
2.0 para 3D.
CONSIDERACIONES PARA EL
DESARROLLO

PEQUEÑA MEMORIA RAM MEMORIA PANTALLAS TRANSFERENCIAS INESTABILIDAD DE BATERÍA MUY


CAPACIDAD DE LIMITADA PERMANENTE DE PEQUEÑAS DE DE DATOS LAS CONEXIONES LIMITADA
PROCESAMIENTO POCA CAPACIDAD POCA COSTOSA Y LENTA DE DATOS
RESOLUCIÓN (EN TÉRMINOS DE
ENERGÍA Y
ECONÓMICOS)

NECESIDAD DE
TERMINAR LA
APLICACIÓN EN
CUALQUIER
MOMENTO
TIPOS DE APLICACIONES

Primer plano
(activities) Servicios
Widgets de
combinados
• Segundo plano escritorio
con actividades
• Servicios puros
ENTORNO DE
DESARROLLO
MacOs 10 o superior
Windows 7/8/10 (Sistemas basados en Intel)

(32-bit o 64-bit) Linux con versión 2.19 o


superior de GNU C Library

4GB de RAM mínimo (8 GB o


superior es preferible)
REQUERIMIENTOS
DE SISTEMA Aproximadamente 4GB de
espacio disponible en disco

1280 x 800 de resolución de


pantalla
PASOS A SEGUIR

PASO 1. DESCARGA E INSTALACIÓN DE PASO 2. DESCARGA E INSTALACIÓN DE


JAVA. ANDROID STUDIO Y EL SDK DE ANDROID.
PASO # 1
DESCARGAR JAVA

• Crear una nueva variable de entorno


llamada JAVA_HOME y cuyo valor
sea la ruta donde se instalo el JDK.
AÑADIR VARIABLE DE ENTORNO
PASO # 2 DESCARGAR
E INSTALAR ANDROID
STUDIO

• Descarga la versión más reciente


de Android studio de su sitio oficial

• Se tiene que indicar también las


rutas donde se quiere instalar tanto
Android Studio como el SDK de
Android. Para evitar posibles
problemas futuros la
recomendación es seleccionar
rutas que no contengan espacios
en blanco.
CONSIDERACIONES:

Durante la instalación se tiene que indicar también las rutas donde


se quiere instalar tanto Android Studio como el SDK de Android.

“I do not have a previous versión” para una instalación nueva y


sigas las indicaciones.

Tiene que decidir el tema visual que utilizará la aplicación.

Seleccione los componentes a instalar


Bienvenidos
“La Universidad de Guayaquil“

Social Media Here :


Desarrollo de Aplicaciones Móviles
Ph.D. Jorge Luis Charco Aguirre

Configuración del Entorno de Desarrollo


PASO # 3 CONFIGURACIÓN
INICIAL

Asegurar de que están correctamente configuradas las rutas a


los SDK de Java y Android.

Para ello:
Ir a menú «Configure» de la pantalla de bienvenida, entrar en el En la ventana de opciones que aparece, revisar el apartado
submenú «Project Defaults» y pulsar sobre la opción «Project SDK Location asegurándonos de que tenemos correctamente
Structure». configuradas las rutas al JDK y al SDK de Android
PASO #4 INSTALAR/ACTUALIZAR
COMPONENTES DEL SDK DE ANDROID

SE DEBE ACCEDER DE NUEVO AL MENÚ CON ESTA HERRAMIENTA SE PUEDE INSTALAR,


«CONFIGURE» Y PULSAR ESTA VEZ SOBRE LA DESINSTALAR, O ACTUALIZAR TODOS LOS
OPCIÓN «SDK MANAGER», LO QUE PERMITIRÁ COMPONENTES DISPONIBLES COMO PARTE DEL SDK
ACCEDER AL SDK MANAGER DE ANDROID. DE ANDROID.
SDK DE ANDROID
SDK DE ANDROID
ANDROID SDK TOOLS

Android SDK Android SDK Google Play


Android Emulator Android SDK Tools
Build-tools Platform-tools Services

Instant Intel x86 Emulator


APK Expansion Play Licensing ConstraintLayout
Develepment Accelerator
Library Library for Android
SDK (HAXM installer)

Google USB
Solver for Android Support Google
Driver (Window
ConstraintLayout Repository Repository
only)
Bienvenidos
“La Universidad de Guayaquil“

Social Media Here :


Desarrollo de Aplicaciones Móviles
Ph.D. Jorge Luis Charco Aguirre

Estructura de Proyecto Android


ANDROID

• En la primera pantalla
indicaremos, por este orden, el
nombre de la aplicación, el
dominio de la compañía, y la
ruta donde crear el proyecto.
• El segundo de los datos
indicados tan sólo se utilizará
como paquete de las clases
java
ANDROID

• Se consideran aplicaciones
para teléfonos y tablets.
• Seleccionar la API mínima (es
decir, la versión mínima de
Android) que soportará la
aplicación.
ANDROID

01 02 03
La versión mínima que De esta forma, cuanto Por ejemplo, en el momento
seleccionemos en esta menor sea ésta, a más de escribir este artículo, si
pantalla implicará que dispositivos podrá llegar seleccionamos como API
nuestra aplicación se pueda nuestra aplicación, pero más mínima la 15 conseguiríamos
ejecutar en más o menos complicado será conseguir cubrir un 94,0% de los
dispositivos. que se ejecute dispositivos actuales
correctamente en todas las
versiones de Android.
ANDROID

• Entenderemos por ahora


que una actividad es una
“ventana” o “pantalla” de la
aplicación.
• Seleccionaremos Empty Acti
vity, que es el tipo más
sencillo.
ANDROID

• Se indicará los datos


asociados a esta actividad
principal que se acaba de
elegir, indicando el nombre
de su clase java asociada
(Activity Name) y el nombre
de su layout xml.

• Puede optar por dejar los


valores por defecto.
ANDROID:
(VISTA PROJECT) – (VISTA ANDROID)
ANDROID: ELEMENTOS
PRINCIPALES DE LA
ESTRUCTURA

01 02 03
Se debe distinguir son La entidad proyecto es Dentro de un proyecto
los conceptos única, y engloba a se pueden podemos
de proyecto y módulo todos los demás incluir varios módulos,
elementos. que pueden representar
aplicaciones distintas,
versiones diferentes de
una misma aplicación
Proyecto

Módulo
ANDROID:
CONTENIDOS
PRINCIPALES DEL
MÓDULO
Carpeta /app/src/main/java

• Esta carpeta contendrá todo


el código fuente de la
aplicación, clases auxiliares,
etc. Inicialmente, Android
Studio creará por nosotros el
código básico de la pantalla
(actividad o activity) principal
de la aplicación
ANDROID:
CONTENIDOS
PRINCIPALES DEL
MÓDULO
Carpeta /app/src/main/res/

• Contiene todos los ficheros de


recursos necesarios para el
proyecto: imágenes, layouts,
cadenas de texto, etc.
ANDROID: CONTENIDOS
PRINCIPALES DEL MÓDULO
• Carpeta /app/src/main/res/
ANDROID: CONTENIDOS
PRINCIPALES DEL MÓDULO
• Carpeta /app/src/main/res/
ANDROID: CONTENIDOS
PRINCIPALES DEL MÓDULO
• Carpeta /app/src/main/res/
ANDROID: CONTENIDOS
PRINCIPALES DEL MÓDULO
«Design» y «Text» podremos alternar entre el editor gráfico y el editor XML
ANDROID: CONTENIDOS
PRINCIPALES DEL MÓDULO

Fichero /app/src/main/[Link]

Contiene la definición en XML de muchos de los aspectos principales de la


aplicación, como por ejemplo su identificación (nombre, icono, …), sus
componentes (pantallas, servicios, …), o los permisos necesarios para su ejecución.
ANDROID: CONTENIDOS
PRINCIPALES DEL MÓDULO

CONTIENE INFORMACIÓN
NECESARIA PARA LA COMPILACIÓN
DEL PROYECTO, POR EJEMPLO LA
VERSIÓN DEL SDK DE ANDROID
FICHERO /APP/[Link] UTILIZADA PARA COMPILAR, LA
MÍNIMA VERSIÓN DE ANDROID QUE
SOPORTARÁ LA APLICACIÓN,
REFERENCIAS A LAS LIBRERÍAS
EXTERNAS UTILIZADAS, ETC.
ANDROID: CONTENIDOS
PRINCIPALES DEL MÓDULO

Puede contener las librerías java


externas (ficheros .jar) que
utilice la aplicación.
Normalmente no incluiremos
Carpeta /app/libs
directamente aquí ninguna
librería, sino que haremos
referencia a ellas en el
fichero [Link]
ANDROID:
CONTENIDOS
PRINCIPALES DEL
MÓDULO
• Carpeta /app/build/
• Contiene una serie de
elementos de código generados
automáticamente al compilar el
proyecto.

• Importante: no se modifican
manualmente bajo ninguna
circunstancia.
Bienvenidos
“La Universidad de Guayaquil“

Social Media Here :


Desarrollo de Aplicaciones Móviles
Ph.D. Jorge Luis Charco Aguirre

Componentes Android
ELEMENTOS BÁSICOS DE
UNA APLICACIÓN

Ventana Control Eventos Servicios como los elementos


básicos en la construcción
de una aplicación.
COMPONENTES DE
UNA APLICACIÓN

Activity View Service

Content Broadcast
Widget
Provider Receiver

Intent
ACTIVITY

Las actividades (activities)


Se puede pensar como
representan el
una ventana o pantalla
componente principal de
en cualquier otro lenguaje
la interfaz gráfica de una
visual.
aplicación Android.
VIEW

1 2
Las vistas (view) son los Controles básicos, como cuadros
componentes básicos con los que de texto, botones, listas
se construye la interfaz gráfica de desplegables o imágenes
la aplicación.
SERVICE

01 02
Los servicios (service) son Los servicios pueden realizar
componentes sin interfaz gráfica cualquier tipo de acciones, por
que se ejecutan en segundo ejemplo actualizar datos, lanzar
plano. notificaciones
CONTENT PROVIDER

Nuestra aplicación podrá


Es el mecanismo que se
acceder a los datos de
ha definido en Android
otra a través de
para compartir datos
los content provider que
entre aplicaciones
se hayan definido.
BROADCAST RECEIVER

Un broadcast receiver es un componente destinado a


detectar y reaccionar ante determinados mensajes o
eventos globales generados por el sistema (por ejemplo:
“Batería baja”, “SMS recibido”, “Tarjeta SD insertada”, …)

Broadcast, es decir, no dirigidos a una aplicación


concreta sino a cualquiera que quiera escucharlo).
WIDGET

1 2
Los widgets son elementos Permiten mostrar información de la
visuales, normalmente interactivos, aplicación al usuario directamente
que pueden mostrarse en la sobre la pantalla principal.
pantalla principal y recibir
actualizaciones periódicas.
INTENT

01 02
Un intent es el elemento Son los mensajes o peticiones
básico de comunicación que son enviados entre los
entre los distintos distintos componentes de una
componentes Android aplicación o entre distintas
aplicaciones
Clases, Layouts
Vistas y Recursos
• Aplicación en Android Studio

UNIVERSIDAD GUAYAQUIL – Electiva IV 2


• GeoQuiz es una aplicación que evalúa tus
conocimientos de la geografía ecuatoriana a través
de preguntas con respuestas de “Verdadero” o
“Falso”
Aplicación
• Este proyecto nos introducirá en algunos aspectos
claves del desarrollo de Android, tales como buenas
prácticas de componente y arquitectura
Aplicación
Aplicación
• Package name es un identificador único en el ecosistema
android. Puede ser cualquier nombre, pero
tradicionalmente se establece una URL en reverso de tu
dominio, por ejemplo, [Link], entonces
sería [Link]ón.

• Save Location establece la localización del proyecto.


Cosas a tener en
• Language seleccionamos Java
cuenta
• Minimum API Level seleccionamos API 26: Android 8.0
(Oreo).
• Android Studio permite trabajar
con versiones antiguas, muchas de
los aspectos de seguridad y
privacidad fueron introducidos en
el API 25.
Cosas a tener • Para mejorar la seguridad, Google
en cuenta anuncio que a partir de agosto
2018 solo permitirán publicar
nuevas aplicación utilizando el API
26 o superior
Cosas a tener en
cuenta

• La vista de la izquierda es la
project tool window y a la
derecha tenemos el editor de
código

8
La vista derecha
La vista de la izquierda tenemos el editor de
es la project tool código
window
Cosas a tener
en cuenta
Cosas a tener en cuenta
Cosas a tener en
cuenta

12
Cosas a tener en cuenta
Jerarquía de Componentes

1. android:layout_width y android:
layout_height
• match_parent: la view será tan
grande como su padre
• wrap_content: la view será tan
grande como su contenido
2. android:padding: espacio interior
del elemento
3. LinearLayout:
• android:orientation: determina
como los widgets serán
mostrados en pantalla (vertical u
horizontal)
1. android:layout_width y android:
layout_height
• match_parent: la view será tan
grande como su padre
• wrap_content: la view será tan
Atributos de los grande como su contenido
2. android:padding: espacio
widges interior del elemento
3. LinearLayout:
• android:orientation: determina
como los widgets serán
mostrados en pantalla (vertical u
horizontal)
Creando recursos string

• Todos los proyectos incluyen el archivo


res/values/ [Link]

• Para obtener el valor de un recurso string


desde cualquier xml, se lo referencia
como @string/nombre_recurso

• En la proyecto creamos 3 recursos string:


• Todos los proyectos incluyen el
archivo
res/values/ [Link]

• Para obtener el valor de un


Creando recurso string desde cualquier
xml, se lo referencia como
recursos string @string/nombre_recurso

• En la proyecto creamos 3 recursos


string:

17
Código

UNIVERSIDAD GUAYAQUIL – Electiva IV 18


Código

• AppCompatActivity es una
subclase de la clase Activity.

• El método onCreate(Bundle)
es llamado cuando se
instancia una subclase
Activity.

• setContentView(int
layoutResID) infla el layout.
Cuando un layout se infla,
cada widget es instanciado
Código

• AppCompatActivity es una subclase de la clase


Activity.

• El método onCreate(Bundle) es llamado cuando


se instancia una subclase Activity.

• setContentView(int layoutResID) infla el layout.


Cuando un layout se infla, cada widget es
instanciado

UNIVERSIDAD GUAYAQUIL - Presentación Proyecto de Investigación 20


Conectando widgets con el código

Crear componentes
en .xml
Conectando widgets con el código

Definir variables
en java
Conectando widgets con el código

Inflar Variables

Relación entre el diseño y el código


Conectando widgets con el código

Cuando se le asigna un Id utilizando


android:id=“+id/ control”.

se puede acceder a este elemento


utilizando la función findViewById.
Eventos en Android

Identificar y describir
cada uno de los
métodos eventos

Método agrupa un conjunto de instrucciones


por ejemplo una función

Evento es una actividad por la que pasa un


componente. Ejemplo evento clicked,
eliminar, etc
25
Eventos en Android

Identificar y
describir cada uno
de los métodos
eventos

26
Creando Android Virtual
Device en Android
Studio

UNIVERSIDAD GUAYAQUIL – Electiva IV 27


Sobre AVD

• AVDs son esencialmente emuladores que permiten probar las aplicaciones Android con
la necesidad de utilizar un dispositivo físico.

• Un AVD puede ser configurado para emular un variedad de hardware de diferentes


características tales como tamaño de la pantalla, capacidad de memoria y otras
características como la cámara.
• Para crea un nuevo dispositivo virtual vamos
Creando un nuevo AVD al menú de la ventana principal Tools ->
Android -> AVD Manager.
Ejecutando
Activity, ciclo de vida
y flujo de navegación
Activity

• Un activity es cada una de las


pantallas o vistas que forman
una aplicación.
Activity

• Se puede añadir un
nuevo activity haciendo
click derecho sobre el
paquete que deseemos,
New > Java Class, como
vemos en la figura
adjunta.

• Esto creará un nuevo


[Link] desde el
cual podemos manejar un
nuevo activity.

3
ESTADOS DE UNA
ACTIVIDAD
Una actividad en Android puede estar en uno de estos cuatro estados:
• Activa (Running): La actividad está encima de la pila, lo que quiere
decir que es visible y tiene el foco.
• Visible (Paused): La actividad es visible pero no tiene el foco. Se
alcanza este estado cuando pasa a activa otra actividad con alguna
parte transparente o que no ocupa toda la pantalla. Cuando una
actividad está tapada por completo, pasa a estar parada.
• Parada (Stopped): Cuando la actividad no es visible. El programador
debe guardar el estado de la interfaz de usuario, preferencias, etc.
• Destruida (Destroyed): Cuando la actividad termina al invocarse el
método finish(), o es matada por el sistema.

Cada vez que una actividad cambia de estado se van a generar eventos
que podrán ser capturados por ciertos métodos de la actividad. A
continuación se muestra un esquema que ilustra los métodos que
capturan estos eventos.
4
Métodos de un activity
• onCreate(Bundle): Se llama en la creación de la actividad. Se utiliza para realizar todo
tipo de inicializaciones, como la creación de la interfaz de usuario o la inicialización de
estructuras de datos.
• onStart(): Nos indica que la actividad está a punto de ser mostrada al usuario.

• onResume(): Se llama cuando la actividad va a comenzar a interactuar con el usuario.


Es un buen lugar para lanzar las animaciones y la música.

• onPause(): Indica que la actividad está a punto de ser lanzada a segundo plano,
normalmente porque otra actividad es lanzada. Es el lugar adecuado para detener
animaciones, música o almacenar los datos que estaban en edición.

• onStop(): La actividad ya no va a ser visible para el usuario. !Ojo si hay muy poca
memoria! es posible que la actividad se destruya sin llamar a este método.

• onStart(): Indica que la actividad va a volver a ser representada después de haber


pasado por onStop().

• onDestroy(): Se llama antes de que la actividad sea totalmente destruida. Por ejemplo,
cuando el usuario pulsa el botón de volver o cuando se llama al método finish(). Ojo si
hay muy poca memoria, es posible que la actividad se destruya sin llamar a este
método.
Controles de
usuario: Input
Controls,
Alertas, y
Pickers
Controles de entrada

 Son del tipo inputType


 EditText
 Spinner
Controles de
entrada - Text
 Android ofrece algunas
entradas para el manejo de
texto tales como:
 Texto normal

 Contraseñas

 Correos electrónicos

 Teléfonos
Spinner y Alertas
Spinner

En el archivo [Link]

<string-array name="labels_array">
<item>Home</item>
<item>Work</item>
<item>Mobile</item>
<item>Other</item>
</string-array>
Radio Button
DataPickerFragment
Consideraciones:

 Implementar los métodos haciendo uso de los @override


 onDateSet()
 public void onDateSet(DatePicker view, int year, int month, int day)

 Quitar la contructor vacio DatePickerFragment.


 Reemplazar onCreateView() con onCreateDialog() que retorna Dialog, and
anota onCreateDialog() with @NonNull para indicar que no puede retornar
nulo.
Código
En el activity principal

También podría gustarte