Vous êtes sur la page 1sur 47

UNIVERSIDAD NACIONAL

JOS FAUSTINO SNCHEZ CARRIN

FACULTAD DE INGENIERA INDUSTRIAL, SISTEMAS E


INFORMTICA
E.A.P INGENIERA DE SISTEMAS

GUIA DE ANDROID STUDIO

ASIGNATURA : Desarrollo de aplicaciones mviles

CICLO : IX

DOCENTE : ING. CIP PIERRE PAUL LONCAN SALAZAR

ALUMNO :
Caldern Pascual, Deybis Jess

UNJFSC
2017

Android Studio 1
INDICE

1. Procedimientos de la instalacin de Android Studio3


a. Descarga de paquetes3
b. Instalacin.4

2. Descripcin de la interfaz de Android Studio.10

3. Ciclo de vida de las aplicaciones..16

4. Layouts..18
a. Definicion.18
b. Tipos de layouts..19

5. Componentes y controles...23
6. Menu, barra de acciones y preferencias..28
a. Menu.28
b. Barra de acciones.30
c. Preferencias.31

7. Activity.33
a. Ciclo de vida de una actividad en Android.34

8. Creacin de una app..37

Android Studio 2
1. PROCEDIMIENTOS DE INSTALACIN DE ANDROID
STUDIO
Descarga de Android Studio
Nos redirigimos a la pgina donde procederemos a descargar el jdk segn el
sistema operativo que tengamos

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-
2133151.html

Descarga de Android Studio

Abrimos en el navegador el enlace de la pgina oficial de Android Studio


https://developer.android.com/studio/index.html

Android Studio 3
Procedemos a descargar el ejecutable:

Instalacin:
Procedemos a ejecutar el instalador del JDK

Android Studio 4
Luego se procede a instalar el archivo .exe de Android Studio
En algunos sistemas de Windows, la secuencia de comandos de inicio no
encuentra el destino de instalacin del JDK. Si se produce este problema, se debe de
configurar una variable de entorno que indique la ubicacin correcta.
Nos vamos a Equipo > propiedades > Configuracin avanzada del sistema

Luego le damos click a variables de entorno> Nueva variable y agregamos una nueva
variable de sistema JAVA_HOME que apunte a tu carpeta de JDK. Por
ejemplo, C:\Program Files\Java\jdk1.8.0_60

Android Studio 5
Instalamos Android Studio:

Antes que todo verificamos los requisitos dependiendo del sistema operativo que
tenemos:

Verificado todo lo anterior procedemos a dar click al .exe

Android Studio 6
Nos abrir el instalador y procederemos dar siguiente

Android Studio 7
Damos click en finalizar la instalacin

Android Studio 8
Procedemos a dar click en el acceso directo de Android Studio

Nos abre una la configuracin de Android studio como es la primera vez que la
iniciamos. Dar en siguiente > siguiente > finalizar

Android Studio 9
2. DESCRIPCION DE LA PANTALLA O INTERFAZ DE
ANDROID STUDIO

Men principal
Barra de navegacin Barra de herramientas

Pestaas del editor


Vista de nuestro
proyecto

Editor de cdigo

Barra de estado

El Editor De Cdigo
El editor de cdigo es la ventana con tabs que se ve en
la parte central. Prcticamente todo el proyecto depende del
uso que hagas de este espacio.

La Canaleta Del Editor De Cdigo

La Canaleta o Gutter es la seccin lateral izquierda del


editor de cdigo donde se muestra informacin sobre los
recursos y controles asociados al cdigo.
Una de sus funciones es mostrarnos una vista rpida de los
iconos y colores que tenemos asociados al cdigo.

Android Studio 10
El Gutter tambin te permite aadir
puntos de interrupcin o breakpoints para
la depuracin de tu aplicacin. Solo basta
con clickear la lnea de accin elegida.

Opciones del Gutter


Si presionas click derecho en el rea del gutter
aparecer un men contextual con opciones
aplicables al editor de cdigo actual del proyecto.

-Show Line Numbers: Muestra el nmero de las


lneas de cdigo en el editor.
-Show Indent Guides: Muestra el tabulado que existe para un bloque de cdigo a
travs de una lnea punteada. Por ejemplo, el siguiente mtodo muestra una lnea
trazada en sus extremos.

La Barra De Alertas
En ella se indican las lneas ms importantes del cdigo para las cuales debes tener
cuidado especial despus de haber realizado un Anlisis de Cdigo.

Normalmente se referir a warnings, errores y predicciones que existan en nuestro


cdigo. Si seleccionas cada una de los segmentos horizontales, la barra de alertas te
dirigir hacia la lnea especfica.

Android Studio 11
Ventanas De Herramientas

En la interfaz de Android Studio vers varios


botones en los laterales y la parte inferior. Algunos
como TODO, Terminal, Favorites, Maven Projects,
etc.

Cada una de estas opciones se les llama


botones de herramientas, los cuales te permiten
acceder a las ventanas de herramientas. Estas
tienen como fin ayudarte en las labores que hacen
parte del proceso de desarrollo de aplicaciones
mviles.

-La ventana de herramientas Project

Esta es la ventana ms intuitiva y una de mayor uso en cualquier IDE. Su


objetivo es mostrarte el alcance global de todos los archivos del proyecto a travs
de una vista de rbol o jerarqua.

Aqu vers tu cdigo fuente, recursos, libreras, archivos de construccin y


directorios de forma segmentada para tener un manejo rpido y flexible de tus
acciones

Android Studio 12
-Uso de Vistas
La ventana Project provee varias vistas para enfocar el contenido del
proyecto en archivos particulares.
Algunas de las vistas que vers son:
Vista Project: Muestra absolutamente todos los archivos que se encuentran
en las ramificaciones del proyecto, como lo es los paquete java, recursos,
tests, archivos de construccin, libreras, assets, etc.
Vista Packages: Simplifica la vista solamente a los paquetes Java que se
relacionan con nuestra aplicacin.
Vista Scratchs: Muestra los scratchs creados hasta el momento dentro del
proyecto. Un scratch es un archivo de texto plano o una pieza de cdigo
escrita con el fin de exploracin o investigacin temporal hasta que se llegue
a una solucin definida.
Vista Android: La vista de proyecto Android muestra las jerarquas ms
importantes de tu aplicacin Android. Enfatiza en agrupar los archivos
relacionados con el proyecto en mdulos junto a los archivos de construccin
de Gradle

-Ventana de herramientas Structure


La ventana Structure muestra los componentes de tu archivo
dependiendo del lenguaje en que est escrito. Si es Java, vers los
mtodos, atributos, interfaces, etc. Si es XML, se mostrar la jerarqua
de etiquetas que existen dentro de este.

Ficheros y carpetas de un proyecto


Android

Todo proyecto en Android Studio puede


contener varios mdulos y cada mdulo
corresponde a una aplicacin o ejecutable
diferente.

Android Studio 13
AndroidManifest.xml: Este fichero describe la aplicacin Android. Se define su
nombre, paquete, icno, estilos, etc. Se indican las actividades, las intenciones,
losservicios y los proveedores de contenido de la aplicacin. Tambin se declaran los
permisos que requerir la aplicacin. Se indica la versin mnima de Android para
poder ejecutarla, el paquete Java, la versin de la aplicacin, etc.
java: Carpeta que contiene el cdigo fuente de la aplicacin. Como puedes observar
los ficheros Java se almacenan en carpetas segn el nombre de su paquete.
o MainActivity: Clase Java con el cdigo de la actividad inicial.
o ApplicationTest: Clase Java pensada para insertar cdigo de testeo de la
aplicacin utilizando el API JUnit.
res: Carpeta que contiene los recursos usados por la aplicacin.
o drawable: En esta carpeta se almacenan los ficheros de imgenes (JPG o
PNG) y descriptores de imgenes en XML.
o mipmap: Es una carpeta con la misma finalidad que res/drawable. La nica
diferencia es que si ponemos los grficos en mipmap, estos no son
rescaldados para adaptarlos a la densidad grfica del dispositivo donde se
ejecuta la aplicacin, sino que se buscar en las subcarpetas el grfico con
la densidad ms parecida y se utilizar directamente.
o layout: Contiene ficheros XML con vistas de la aplicacin. Las vistas nos
permitirn configurar las diferentes pantallas que compondrn la interfaz
de usuario de la aplicacin. Se utiliza un formato similar al HTML usado
para disear pginas web. Se tratarn en el siguiente captulo.
o menu: Ficheros XML con los mens de cada actividad. En el proyecto no
hay ningn men por lo que no se muestra esta carpeta.
o values: Tambin utilizaremos ficheros XML para indicar valores usados en
la aplicacin, de esta manera podremos cambiarlos desde estos ficheros sin
necesidad de ir al cdigo fuente.
En colors.xml se definen los tres colores primarios de la aplicacin.
En dimens.xml, se ha definido el margen horizontal y vertical por
defecto. Observa como hay dos ficheros, el usado por defecto y el
etiquetado como (w820dp) que ser utilizado en dispositivos con
ancho superior a 820 dp, esto ocurrir en tabletas.
En el fichero strings.xml, tendrs que definir todas las cadenas de
caracteres de tu aplicacin. Creando recursos alternativos
resultar muy sencillo traducir una aplicacin a otro idioma.
styles.xml, podrs definir los estilos y temas de tu aplicacin.
Gradle Scripts: En esta carpeta se almacenan una serie de ficheros Gradle que
permiten compilar y construir la aplicacin. Observa como algunos hacen
referencia al mdulo app y el resto son para configurar todo el proyecto. El
fichero ms importante es build.gradle (Module:app) que es donde se configuran
las opciones de compilacin del mdulo:

Android Studio 14
-Ventana de herramientas Favorites
La ventana de favoritos te permite administrar los siguientes elementos:
Los tems marcados como favoritos en el proyecto.
Los marcadores de acceso (Bookmarks) en los archivos.
Los puntos de interrupcin (Breakpoints) que existan para depuracin.

La Barra De Men Principal


Con ella podemos realizar todas aquellas acciones que puedan existir dentro
del entorno de desarrollo. Esta barra no puede ocultarse a diferencia de las dems
barras o ventanas que tenemos en la interfaz de usuario.

La Barra De Herramientas Principal


Esta barra contiene botones con las acciones usadas ms frecuentes para
tener un acceso rpido.

La Barra De Navegacin
Muestra la ruta en la que se encuentra alojado un fichero que ha sido abierto
en el editor de cdigo. La profundidad de los directorios se expresa de izquierda a
derecha.

La Barra De Estado
Este componente de la interfaz de Android Studio te muestra informacin
importante sobre los estados de tareas, consumo de recursos, tipos de encodificado,
notificaciones de errores, etc.

Android Studio 15
La opcin Help del men principal
La mayora de inquietudes que tengas sobre Android
Studio pueden consultadas a travs del men Help. All
encontrars un sinnmero de opciones que te permitirn
saber ms de las funcionalidades del IDE

3. Ciclo de vida de las aplicaciones


Es ciclo de vida es la forma mediante la cual se describen los
diferentes pasos que se deben seguir para el desarrollo de una app, partiendo desde
una necesidad hasta llegar a la puesta en marcha de una solucin y su apropiado
mantenimiento.

Desde que surge la idea hasta que sta llega a la tienda de aplicaciones
existe, como en toda creacin, un perodo de gestacin. En este proceso aparecen
tambin diferentes etapas que marcarn el futuro de la app.

Anlisis: se analiza todo el entorno que puede afectar


a los requisitos y funcionamiento de la app, donde el
analista debe valorar y estudiar aspectos como el pblico
objetivo, elementos, etc., que afectarn al diseo,
funcionalidad y estrategia de la app.

Diseo: se especifican los esquemas de diseo y


usabilidad de la aplicacin. Definir bien este Mock-up
(esquema) es clave para que esa aplicacin nazca y crezca
con xito.

Codificacin: El equipo de programacin coge las


riendas y comienza a darle vida a todo ese esqueleto
donde, de la mano del equipo de diseo que se encargar
de vestirlo y llevarlo hacia la luz.
En decir en esta fase se pasa el diseo a cdigo escrito en algn lenguaje de
programacin, lo cual esta es la primera labor que realiza el programador.

Android Studio 16
Pruebas. Se trata de comprobar que el funcionamiento de la aplicacin es la
adecuada. Se realiza en varias fases:
a) Prueba del cdigo. Las realizan programadores. Normalmente programadores
distintos a los que crearon el cdigo, de ese modo la prueba es ms
independiente y generar resultados ms ptimos.
b) Versin alfa. Es una primera versin terminada que se revisa a fin de encontrar
errores. Estas pruebas conviene que sean hechas por personal no informtico.
El producto slo tiene cierta apariencia de acabado.
c) Versin beta. Versin casi definitiva del software en la que no se estiman
fallos, pero que se distribuye a los clientes para que encuentren posibles
problemas. A veces est versin acaba siendo la definitiva (como ocurre con
muchos de los programas distribuidos libremente por Internet).

Mantenimiento. Tiene lugar una vez que la aplicacin ha sido ya distribuida,


en esta fase se asegura que el sistema siga funcionando correctamente y crear
mejoras para adecuarla a los cambios del mercado y la tecnologa, aunque
cambien los requisitos o el sistema para el que fue diseado el software. Antes
esos cambios se hacen los arreglos pertinentes, por lo que habr que retroceder
a fases anteriores del ciclo de vida.
As, la aplicacin ir actualizndose partiendo de su versin 1.0 hasta el infinito y
ms all.

Android Studio 17
4. Layouts

Definicion:

Se define un layout como una estructura visual para una interfaz de usuario, es decir,
aquello que hace de intermediario entre el terminal mvil y el usuario. Un elemento
de una interfaz de usuario (widgets o layouts) se puede declarar desde un fichero
XML o en tiempo de ejecucin de la aplicacin.

Hay que destacar que un Layout puede contener a otro Layout y que es un
descendiente de la clase View.

ALGUNAS PROPIEDADES DE UN LAYOUT:

android:id.
Se trata de un nmero entero que sirve para identificar cada objeto view de forma
nica dentro de nuestro programa, cuando lo declaramos a travs de un xml de
resource podemos hacer referencia a la clase de recursos R usando una @, este
representa un identificador nico para cada elemento, lo que permite obtener una
referencia de cada objeto de forma especfica.

La sintaxis para el id sera la siguiente

android:id=@id/boton. Hace referencia a un id ya existente asociado a la


etiqueta boton, esto se usa para cuando usamos los Layout Relativos, ya
que para ubicar los elementos, lo hacemos indicando por ejemplo que un
botn lo insertamos a la derecha de otro, pues bien ese otro se pone as.
android:id=@+id/boton2. Esto crea una nueva etiqueta en la clase R
llamada boton2.

NOTA: Donde el smbolo '@' indica al parser interno de XML, que comienza un
nuevo identificador para traducir. Y el smbolo '+' declara que dicho id no existe an. Por
ello se da la orden para crear el identificador dentro del archivo R.java a partir del string
que proporcionamos.

Android Studio 18
android: layout_weight | layout_height

Estos parmetros definen el ancho y la altura respectivamente de cualquier view.


Estas propiedades nos van a permitir dar a los elementos contenidos en el layout
unas dimensiones proporcionales entre ellas.

android:layout_gravity="center".
Esta propiedad es la que se usa para centrar, es la 'gravedad' una vez ms cuando
estn entre las comillas, pulsa Control+Espacio para ver todas las opciones que te da este
control, adems las puedes combinar, es decir, Center_Horizontal|Top. <-- Esto te lo
centra horizontal y lo ajusta en vertical arriba.

Para el resto de Atributos, cada elemento tendr los propios, basta con poner el
cursor dentro de la etiqueta del Layout que estemos colocando y pulsar las
teclas Ctrl+Espacio para que Eclipse te recomiende las propiedades del elemento que
estamos insertando.

TIPOS DE LAYOUTS:
La siguiente lista describe los Layout ms utilizados en Android:

LinearLayout: Dispone los elementos en una fila o en una columna.


Este tipo de layout coloca sus hijos unos detras de otros, tambin
comenzando por la esquina superior izquierda de la pantalla. Podemos colocarlos
alineados horizontalmente o verticalmente mediante su
propiedad android:orientation=horizontal | vertical

Android Studio 19
TableLayout: Permite distribuir sus elementos hijos de forma tabular, definiendo
las filas y columnas necesarias, y la posicin de cada componente dentro de la
tabla.
Se utiliza la etiqueta <TableRow> cada
vez que queremos insertar una nueva lnea.

Por norma general, el ancho de cada


columna se corresponder con el ancho del
mayor componente de dicha columna, pero
existen una serie de propiedades que nos
ayudarn a modificar este comportamiento:

android:stretchColumns. Indicar las columnas que pueden expandir para


absorver el espacio libre dejado por las dems columnas a la derecha de la
pantalla.
android:shrinkColumns. Indicar las columnas que se pueden contraer para dejar
espacio al resto de columnas que se puedan salir por la derecha de la pantalla.
android:collapseColumns. Indicar las columnas de la tabla que se quieren
ocultar completamente.

RelativeLayout: Dispone los elementos en relacin a otro o al padre. Este layout


permite especificar la posicin de cada elemento de forma relativa a su elemento
padre o a cualquier otro elemento incluido en el propio layout

Este Layout permite que coloquemos los elementos en un lugar con respecto
a la posicin de otro, es decir, colocar un botn a la derecha de un texto, o centrarlo
en la pantalla, o por ejemplo, colocar un texto encima de tal elemento y a la derecha
de este otro.
En un RelativeLayout tendremos un sinfn de propiedades para colocar cada
control justo donde queramos. Veamos las principales propiedades:
Posicin relativa a otro control:
android:layout_above.
android:layout_below.
android:layout_toLeftOf.
android:layout_toRightOf.
android:layout_alignLeft.

Android Studio 20
android:layout_alignRight.
android:layout_alignTop.
android:layout_alignBottom.
android:layout_alignBaseline.
Posicin relativa al layout padre:
android:layout_alignParentLeft.
android:layout_alignParentRight.
android:layout_alignParentTop.
android:layout_alignParentBottom.
android:layout_centerHorizontal.
android:layout_centerVertical.
android:layout_centerInParent.
Opciones de margen (tambin disponibles para el resto de layouts):
android:layout_margin.
android:layout_marginBottom.
android:layout_marginTop.
android:layout_marginLeft.
android:layout_marginRight.
Opciones de espaciado o padding (tambin disponibles para el resto de
layouts):
android:padding.
android:paddingBottom.
android:paddingTop.
android:paddingLeft.
android:paddingRight.

AbsoluteLayout: Posiciona los elementos de forma absoluta.

FrameLayout: Permite el cambio dinmico de los elementos que contiene.


Un FrameLayout coloca todos sus controles hijos alineados con su esquina
superior izquierda, de forma que cada control quedar oculto por el control
siguiente (a menos que ste ltimo tenga transparencia). Por ello, suele utilizarse
para mostrar un nico control en su interior, a modo de contenedor (placeholder)
sencillo para un slo elemento sustituible, por ejemplo una imagen.

Android Studio 21
Los componentes incluidos en un FrameLayout podrn establecer sus
propiedades android:layout_widthy android:layout_height, que podrn tomar los
valores match_parent (para que el control hijo tome la dimensin de su layout
contenedor) o wrap_content (para que el control hijo tome la dimensin de su
contenido). Veamos un ejemplo:

ConstraintLayout: Versin mejorada de RelativeLayout, que permite una edicin


visual desde el editor y trabajar con porcentajes.

GridLayout: es un elemento similar al TableLayout ya que sus elementos se


distribuyen en filas y columnas pero con el inconveniente de que solo se puede
utilizar a partir de la API 14.

ScrollView: Visualiza una columna de elementos; cuando estos no caben en


pantalla se permite un deslizamiento vertical.

ListView: Visualiza una lista deslizable verticalmente de varios elementos. Su


utilizacin es algo compleja pero muy potente.

TabHost: Proporciona una lista de ventanas seleccionables por medio de etiquetas


que pueden ser pulsadas por el usuario para seleccionar la ventana que desea
visualizar.

ViewFlipper: Permite visualizar una lista de elementos de forma que se visualice


uno a la vez, se puede usar para cada cierto intervalo de tiempo.

Android Studio 22
5. COMPONENTES Y CONTROLES

Componentes de una aplicacin Android


Actividades:

Las actividades (activities) representan el componente principal de la interfaz grfica


de una aplicacin Android. Se puede pensar en una actividad como el elemento
anlogo a una ventana o pantalla en cualquier otro lenguaje visual.
Una Activity es un componente de la aplicacin que contiene una pantalla con la que
los usuarios pueden interactuar para realizar una accin, como marcar un nmero
telefnico, tomar una foto, enviar un correo electrnico o ver un mapa. A cada
actividad se le asigna una ventana en la que se puede dibujar su interfaz de usuario. La
ventana generalmente abarca toda la pantalla, pero en ocasiones puede ser ms
pequea que esta y quedar "flotando" encima de otras ventanas.
Fragmentos
Un Fragment representa un comportamiento o una parte de la interfaz de usuario en
una Activity. Puedes combinar mltiples fragmentos en una sola actividad para crear
una IU multipanel y volver a usar un fragmento en mltiples actividades
Cargadores
Introducidos en Android 3.0, los cargadores simplifican la carga asincrnica de datos
en una actividad o un fragmento. Los cargadores tienen estas caractersticas:

Estn disponibles para cada Activity y Fragment.


Proporcionan carga asincrnica de datos.
Controlan el origen de los datos y entregan resultados nuevos cuando el
contenido cambia.
Se reconectan automticamente al ltimo cursor del cargador cuando se
recrean despus de un cambio de configuracin. Por lo tanto, no necesitan
consultar los datos nuevamente

Tareas y pila de actividades


Una tarea es una coleccin de actividades con la que los usuarios interactan
cuando realizan un trabajo determinado. Las actividades se organizan en una pila
(la pila de actividades), en el orden en el que se abre cada actividad.

Android Studio 23
Una aplicacin generalmente contiene mltiples actividades. Cada actividad
debe disearse en torno a una clase especfica de accin que el usuario puede realizar
y puede iniciar otras actividades. Por ejemplo, una aplicacin de correo electrnico
puede tener una actividad para mostrar una lista de mensajes nuevos. Cuando el
usuario selecciona un mensaje, se abre una actividad nueva para ver ese mensaje.

View

Las vistas (view) son los componentes bsicos con los que se construye la interfaz
grfica de la aplicacin, anlogo por ejemplo a los controles de Java o .NET. De inicio,
Android pone a nuestra disposicin una gran cantidad de controles bsicos, como
cuadros de texto, botones, listas desplegables o imgenes, aunque tambin existe la
posibilidad de extender la funcionalidad de estos controles bsicos o crear nuestros
propios controles personalizados.

Service

Los servicios (service) son componentes sin interfaz grfica que se ejecutan en
segundo plano. En concepto, son similares a los servicios presentes en cualquier otro
sistema operativo. Los servicios pueden realizar cualquier tipo de acciones, por
ejemplo actualizar datos, lanzar notificaciones, o incluso mostrar elementos visuales
(p.ej. actividades) si se necesita en algn momento la interaccin con del usuario.
Los servicios tambin tienen un ciclo de vida como las actividades, pero este es ms
corto. Solo se comprende de los estados de Creacin, Ejecucin y Destruccin.
Un servicio puede adoptar esencialmente dos formas:
Servicio iniciado
Un servicio est "iniciado" cuando un componente de aplicacin (como una
actividad) lo inicia llamando a startService(). Una vez iniciado, un servicio puede
ejecutarse en segundo plano de manera indefinida, incluso si se destruye el
componente que lo inici.
Por lo general, un servicio iniciado realiza una sola operacin y no devuelve un
resultado al emisor. Por ejemplo, puede descargar o cargar un archivo a travs de la
red. Cuando la operacin est terminada, el servicio debe detenerse por s mismo.
Servicio de enlace
Un servicio es de de enlace cuando un componente de la aplicacin se vincula a l
llamando a bindService(). Un servicio de enlace ofrece una interfaz cliente-servidor
que permite que los componentes interacten con el servicio, enven solicitudes,

Android Studio 24
obtengan resultados e incluso lo hagan en distintos procesos con la comunicacin
entre procesos (IPC).
Un servicio de enlace se ejecuta solamente mientras otro componente de aplicacin
est enlazado con l. Se pueden enlazar varios componentes con el servicio a la vez,
pero cuando todos ellos se desenlazan, el servicio se destruye.

Content Provider

Un proveedor de contenidos (content provider) es el mecanismo que se ha definido


en Android para compartir datos entre aplicaciones. Mediante estos componentes es
posible compartir determinados datos de nuestra aplicacin sin mostrar detalles sobre
su almacenamiento interno, su estructura, o su implementacin. De la misma forma,
nuestra aplicacin podr acceder a los datos de otra a travs de los content
provider que se hayan definido.
Android incluye proveedores de contenido que administran datos como video,
audio, imgenes e informacin de contacto personal.
Aunque los Intents permiten intercambiar pequeos datos entre aplicaciones, un
Content Provider permite extender a mejores usos para intercambiar informacin
persistente en la base de datos entre aplicaciones.

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:
Batera baja, SMS recibido, Tarjeta SD insertada, ) o por otras aplicaciones
(cualquier aplicacin puede generar mensajes (intents, en terminologa Android)

Android Studio 25
broadcast, es decir, no dirigidos a una aplicacin concreta sino a cualquiera que quiera
escucharlo).
Los Broadcasts son muy tiles para monitorear los estados de nuestra aplicacin, lo
que permite ejecutar instrucciones si en algn momento sucede alguna accin
prevista.

Widget

Los widgets son elementos visuales, normalmente interactivos, que pueden


mostrarse en la pantalla principal (home screen) del dispositivo Android y recibir
actualizaciones peridicas. Permiten mostrar informacin de la aplicacin al usuario
directamente sobre la pantalla principal.
Es decir son vistas de aplicaciones en miniatura que se pueden incrustar en otras
aplicaciones (como la pantalla de inicio) .
Un componente de aplicacin que puede
contener otros App Widgets se denomina host
de widget de aplicacin. La siguiente captura de
pantalla muestra el widget de la aplicacin de
msica.

Intents y filtros de intents

Intent:
Un intent es el elemento bsico de
comunicacin entre los distintos
componentes Android que hemos
descrito anteriormente. Se pueden
entender como los mensajes o
peticiones que son enviados entre los
distintos componentes de una
aplicacin o entre distintas
aplicaciones. Mediante un intent se puede mostrar una actividad desde cualquier otra,
iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicacin, etc.
Una Intent es un objeto de accin que puedes usar para solicitar una accin de otro
componente de la aplicacin. Aunque las intents facilitan la comunicacin entre los
componentes de muchas maneras, existen tres casos de uso fundamentales:

Para comenzar una actividad

Android Studio 26
Para iniciar un servicio
Para entregar un mensaje

Tipos de intents
Existen dos tipos de intents:

Intents explcitas: especifican qu componente se debe iniciar mediante su nombre


(el nombre de clase completamente calificado). Usualmente, el usuario usa una
intent explcita para iniciar un componente en su propia aplicacin porque conoce
el nombre de clase de la actividad o el servicio que desea iniciar. Por ejemplo, puede
utilizarla para iniciar una actividad nueva en respuesta a una accin del usuario o
iniciar un servicio para descargar un archivo en segundo plano.

Intents implcitas: no se nombra el componente especficamente; pero, en cambio,


se declara una accin general para realizar, lo que permite que un componente de
otra aplicacin la maneje. Por ejemplo, si desea mostrar al usuario una ubicacin en
un mapa, puede usar una intent implcita para solicitar que otra aplicacin capaz
muestre una ubicacin especfica en un mapa.

Controles de entrada

Los controles de entrada son los


componentes interactivos de la interfaz
de usuario de tu app. Android ofrece
una gran variedad de controles que
puedes usar en tu IU, como botones,
campos de texto, barras de bsqueda,
casillas de verificacin, botones de
zoom, botones de activacin o
desactivacin y muchos ms.

Android Studio 27
6. MENU, BARRA DE ACCIONES Y PREFERENCIAS
6.1. MENU
Los mens en las aplicaciones son algo que encontramos frecuentemente, de hecho, casi
todos los terminales Android tienen un botn especfico para desplegarlos.
A partir de la versin 3 de Android los mens han caido en desuso debido a la
aparicin de la Action Bar. De hecho, si compilas tu aplicacin con un target igual o superior
a la API 11 (Android 3.0) vers como los mens que definas aparecen, no en su lugar habitual
en la parte inferior de la pantalla, sino en la parte superior de la aplicacin, dnde se alojan
los botones que nos llevan a diferentes opciones, como es el caso de Settings, que vemos
en la siguiente imagen.
Se trata de un menu_main.xml, que suele ser el men por defecto, salvo que le
cambiemos el nombre.

Android Studio 28
En Android Existen 3 tipos de Mens:
Option Menu: Estos tipos de men se encuentra diseados para ser implementados
en un Activity, dentro se colocan acciones concretas que el usuario en algn momento
pueda solicitar, como Ajustes, About, Buscar etc. Es decir es la coleccin principal de
elementos de men para una actividad.

Context Menu: Este tipo de men es un men flotante


como editar, compartir, eliminar que solo aparece cuando
el usuario realizo un clic prolongado en algn elemento.

Popup Menu: En este tipo de men se muestra una lista de


elementos en forma vertical que est anclada a la vista que
invoc el men, con diferentes Opciones

La realidad, es que cada layout tiene un men. En una aplicacin con muchos
layouts puede existir un nico men, porque no siempre hacen falta opciones a mayores
que la anterior. Lo ms comn, es que existan varios mens, ya que puede haber layouts
que tienen un icono de buscar o de aadir, mientras que otros solamente tienen un about.

Android Studio 29
6.2. BARRA DE ACCIONES (ActionBar)
La action bar es un elemento dedicado, el cual est en la zona superior de la pantalla,
que muestra el estado o ubicacin actual dentro de la aplicacin y, por lo general, siempre
est visible en todas las actividades de la app.
Desde la versin 3.0, se introdujo en Android un nuevo elemento en la interfaz de
usuario: la barra de acciones o ActionBar. Situada en la parte superior de la pantalla, fue
creada para que el usuario tuviera una experiencia unificada a travs de las distintas
aplicaciones.
Proporciona varias funciones:

Realizar acciones importantes de una forma accesible y predecible (como pueden


ser Nuevo o Buscar)
Facilitar una navegacin consistente al cambiar de vistas dentro de las apps
Reducir el desorden proporcionando una zona donde ubicar acciones que
raramente se usan
Proporcionar un espacio dedicado para que le des una identidad propia a tu app
La action bar se divide en 4 reas fundamentales en la mayora de las apps.

1. Icono de la aplicacin: El icono de la app establece la identidad de tu app. Por


defecto se ha usado un icono predeterminado por los recursos de Android, pero es
ideal darle vida a tu aplicacin diseando tu propia imagen, logo o distincin.
2. View de control: Este espacio est diseado para insertar views que permitan
acceder al contenido de la actividad con el fin de mejorar la navegacin. Por lo
general se usan Spinners, TextViews, SearchViews , etc., para controlar el contenido.
Normalmente vemos un texto esttico que visualiza el nombre de la aplicacin.

Android Studio 30
3. Botones de accin: Representan las acciones ms populares dentro de la aplicacin,
las cuales podemos ejecutar rpidamente al presionarlos.

Para orientar acerca de prioridad de las acciones, usa el esquema FIT.

4. Despliegue de acciones: Este segmento contiene una lista de acciones que no son
tan populares, pero pueden ser necesitadas en algn momento por el usuario para
tener acceso de forma sencilla.

6.3. PREFERENCIAS
Las preferencias de una aplicacin Android permiten que los usuarios configuren
opciones del funcionamiento bsico, como la frecuencia de sincronizacin, los estilos, datos
de cuentas, uso de notificaciones, etc.
Es decir, las preferencias no son ms que datos que una aplicacin debe guardar
para personalizar la experiencia del usuario, por ejemplo informacin personal, opciones
de presentacin, etc.
Android proporciona un mtodo diseado especficamente para administrar este
tipo de datos: las preferencias compartidas o shared preferences. Cada preferencia se
almacenar en forma de clave-valor, es decir, cada una de ellas estar compuesta por un
identificador nico (p.e. email) y un valor asociado a dicho identificador (p.e.
prueba@email.com). Adems los datos se guardaran en ficheros XML

Android Studio 31
Tipos De Preferencias En Android
Cada uno de los ajustes se representa lgicamente con un objeto de la clase Preference, la
cual representa un tem de la lista de preferencias.
Veamos tres tipos de preferencias vitales:

CheckBoxPreference: Muestra un checkbox para proporcionarle al usuario dos


opciones disponibles de accin.

ListPreference: Despliega un dialogo con varias opciones


para elegir como preferencia.

EditTextPreference: A travs de un dilogo toma el valor


que el usuario digite en un campo de texto

SharedPreferences puede guardar cualquier de los siguientes tipos de datos para los
valores de las preferencias:

Booleanos Strings
Enteros Conjuntos Set de la clase String
Flotantes (Set<String>)
Longs

Android Studio 32
Compatibilidad en versiones de Android
Antes de implementar las preferencias para tus ajustes debes pensar hasta donde
deseas mantener la compatibilidad de esta caracterstica.
Para ello tienes dos opciones: o utilizar la clase PreferenceActivity para APIs de la
10 hacia abajo o emplear un enfoque de fragmentos con la clase PreferenceFragment para
mayores o iguales a la 11. Por lo que esta cuestin ya depende de ti.
Existe un caso especfico donde PreferenceActivity puede usarse en versiones superiores y
es cuando deseamos implementar un patrn maestro-detalle.

7. Activity

Una actividad es la representacin visual e interactiva en tu aplicacin. Por


simpleza podramos sugerir que es una pantalla de la aplicacin. En las actividades
presentaremos toda la interfaz necesaria para que el usuario comprenda que queremos
transmitirle y como podra satisfacer sus necesidades.

Como ya has visto las actividades son representadas por la clase Java Activity. En
ella encontraremos todos los mtodos que representan su ciclo de vida para interactuar
con Android.
Veamos algunos ejemplos de actividades:

Android Studio 33
Ciclo De Vida De Una Actividad En Una Aplicacin Android
Cada Activity puede encontrarse en diferentes estados:

Activa o en ejecucin cuando ocupa el primer plano. La pantalla est visible


y tiene el foco de la interaccin del usuario.
Pausada, cuando ha perdido el foco pero todava es parcialmente visible.
Tpicamente ocurre cuando se abre un dilogo encima de la pantalla.
Parada o detenida, cuando nada de ella es visible.

Android Studio 34
onCreate
Este mtodo se llama al crear una Actividad. Una Actividad debe emplear este
mtodo para configurar su pantalla principal y realizar cualquier otra configuracin inicial,
como la creacin de vistas, el enlace de datos a las listas, etc. Este mtodo proporciona un
parmetro Bundle, que es un diccionario para almacenar y transmitir informacin de estado
y de los objetos entre las actividades.
onSaveInstanceState
Este mtodo es proporcionado por el ciclo de vida de Android para dar a una
Actividad la oportunidad de guardar los datos cuando se produce un cambio, por
ejemplo un cambio de orientacin de pantalla.

onStart
Este mtodo se llama cuando la Actividad est a punto de ser visible para el usuario.
Las Actividades deben emplear este mtodo si necesitan realizar cualquier tarea especfica
justo antes de que se hagan visibles, como por ejemplo refrescar valores actuales de los
valores de las vistas dentro de la Actividad, o de puente para frame rates (una tarea comn
en la construccin de juegos)

onPause
Este mtodo se llama cuando el sistema est a punto de poner la Actividad en
background. Las Actividades deben emplear este mtodo si necesitan confirmar los cambios
no guardados a los datos persistentes, destruir o limpiar objetos para liberar los recursos
que consumen, etc. Las implementaciones de este mtodo deben finalizar lo antes posible,
ya que ninguna Actividad sucesiva se reanudar hasta que este mtodo devuelve un valor.
La Actividad puede ser destruida silenciosamente despus de onPause(). Por lo
tanto, podemos ignorar onStop() y onDestroy() y guardar los datos en onPause() (por
ejemplo, puntuaciones ms altas o nivel de progreso).

onResume
Este mtodo se llama cuando la Actividad va a empezar a interactuar con el usuario
despus de estar en un estado de pausa. Cuando este mtodo se llama, la Actividad se est
moviendo a la parte superior de la pila y est recibiendo actividad del usuario. Las
Actividades pueden emplear este mtodo si lo necesitan para realizar cualquier tarea
despus de que la Activity haya aceptado la interaccin del usuario.

Android Studio 35
onStop
Este mtodo se llama cuando la Actividad ya no es visible para el usuario, ya que
otra Actividad se ha reanudado o iniciado y est eclipsando a esta. Esto puede suceder
porque la Actividad ha finalizado (el mtodo de finalizacin fue llamado), porque el sistema
est destruyendo a esta instancia de Actividad para ahorrar recursos, o porque un cambio
de orientacin se ha producido en el dispositivo. Se puede distinguir entre estos escenarios
mediante el uso de la propiedad isFinishing. Una Actividad debe emplear este mtodo si es
necesario para realizar las tareas especficas antes de ser destruido, o si se trata de una
interfaz de usuario para iniciar la reconstruccin despus de un cambio de orientacin.

onRestart
Este mtodo se llama despus de que una Actividad se haya detenido, antes de que
se inicie de nuevo. Este mtodo siempre es seguido por onStart. Una Activity debe pasar
por onRestart si es necesario para realizar las tareas inmediatamente antes de llamar a
onStart. Por ejemplo, si la actividad previamente ha sido enviada al background y onStop
ha sido llamada, pero el proceso de la Actividad an no ha sido destruido por el sistema
operativo, entonces el mtodo onRestart debe ser anulado.
Un buen ejemplo de esto sera cuando el usuario presiona el botn de inicio cuando
an haba una Activity en la aplicacin. El onPause, y a continuacin el onStop, son llamados,
pero la actividad no se destruye. Si el usuario a continuacin restaurara la aplicacin
mediante el administrador de tareas o una aplicacin similar, el mtodo onRestart de la
actividad sera llamado por el sistema operativo, durante la reactivacin de actividades.

onDestroy
Este es el ltimo mtodo que se llama en una Actividad antes de que sea destruido.
Despus de llamar a este mtodo, su Actividad se matar y ser purgado de los grupos de
recursos del dispositivo. El sistema operativo se destruirn permanentemente los datos de
estado de una Actividad despus de que este mtodo se haya ejecutado, por lo que una
Actividad debe reemplazar este mtodo como medio final para salvar los datos del estado.

Android puede en cualquier momento pausar, parar, destruir nuestra aplicacin


segn las necesidades del momento y por ello se debe de controlar todos estos eventos
para hacer una aplicacin robusta.

Android Studio 36
8. Creacin de una app
Abrimos Android Studio:
Nos desplegar una lista de lo que queremos hacer, ya sea crear un nuevo
proyecto, abrir un proyecto existente, verificar las actualizaciones, importar
proyectos o ejemplos de cdigo.

Elegimos una versin de la plataforma (API) dependiendo para que sector del
mercado nos queremos dirigir (gama baja, media o alta)

Android Studio 37
Aqu nos muestra una infinidad de plantillas que escogeremos a nuestra eleccin,
nos muestra una serie de actividades para nuestro mvil

Aqu se personaliza la actividad que queremos implementar:

Nombre de la actividad

Nombre del layout

Android Studio 38
Esta interface muestra que se est creando el nuevo proyecto

Nos da la bienvenida y unos pequeos tips

Ahora tenemos nuestro entorno de desarrollo de aplicaciones android

Android Studio 39
Carpeta RES

layout

ACTIVITY_MAIN

CONTENT_MAIN

Android Studio 40
activity_crono

Android Studio 41
MENU_MAIN

Android Studio 42
Carpeta JAVA

Clase MainActivity

Clase cronoActivity

Android Studio 43
Pasamos a generar el APK

Android Studio 44
Luego instalamos el apk en nuestro dispositivo Android

Android Studio 45
Ingresamos a la aplicacin

Android Studio 46
Ingresamos el valor e presionamos en start para iniciar

Android Studio 47