Sie sind auf Seite 1von 28

ANDROID > NIVEL 1

CONTENIDO: ANDROID Nivel 1


CONTENIDO: ANDROID Nivel 1 ............................................................................................ 2
ANDROD .................................................................................................................................... 3
APIS EN ANDROID .................................................................................................................. 3
ARQUITECTURA EN ANDROID .................................................................................................. 6
ENTORNO DE DESARROLLO ...................................................................................................... 8
1. Descargar el SDK de Android. ......................................................................... 8
2. Crear un emulador ............................................................................................. 13
3. Crear proyecto en Android ............................................................................. 15
ESTRUCTURA DE UN PROYECTO ANDROID ............................................................................ 18
 Carpeta /src/ ......................................................................................................... 19
 Carpeta /res ........................................................................................................... 19
 Carpeta /gen/ ......................................................................................................... 20
FICHERO ANDROIDMANIFEST.XML ........................................................................................ 21
Atributos ................................................................................ Error! Bookmark not defined.
ANDROID TIPS ...................................................................................................................... 21
Aplicación en Android No.1 .......................................................................................... 22
Código java (MainActivity.java) ............................................................................ 22
Código archivo layout (activity_main.xml) ........................................................ 23
Diseño archivo layout (activity_main.xml) ........................................................ 23
Código archivo strings.xml ...................................................................................... 24
Código archivo AndroidManifiest.xml .................................................................... 24
Aplicación en Android No.2 .......................................................................................... 25
Código java (MainActivity.java) ............................................................................ 25
Código java (Segundo Activity.java) .................................................................... 26
Código archivo layout (activity_main.xml) ........................................................ 27
Código archivo layout (activity_segundo.xml) .................................................. 27
Código archivo string.xml ........................................................................................ 28
Código archivo AndroidManifiest.xml .................................................................... 28

Realizado por: Diana Alfaro Página 2


ANDROID

Android es un sistema operativo basado en el kernel de Linux


diseñado principalmente para dispositivos móviles con pantalla
táctil, como teléfonos inteligentes o tabletas, y también para
relojes inteligentes, televisores y automóviles, inicialmente
desarrollado por Android, Inc.

Google respaldó económicamente y más tarde compró esta


empresa en Julio 2005.En Noviembre 2007, nace la Open Handset
Alliance Consorcio de empresas unidas con el objetivo de
desarrollar estándares abiertos para móviles.

El primer producto Android para móviles es construida sobre


el kernel de Linux 2.6

APIS EN ANDROID

Los nombres de las versiones de Android se escogen de nombres


de postres y siguiendo la secuencia del abecedario!

 Android “CUPCAKE” - versión 1.5


Lanzamiento: Abril del 2009
Funciones: Teclado QWERTY virtual, widgets, captura de
video,copiar&pegar, subir videos a Youtube en forma directa.
Notas: Marca el inicio de este sistema operativo.
API 3

 Android “DONUT” - versión 1.6


Lanzamiento: Septiembre 2009
Funciones: Navegación en Google Maps paso-a-paso, mejora en
el interfaz de la cámara de foto y video, búsquedas por voz.
Nota: Esta versión era muy barata y no encarecía el costo de
los dispositivos. Inicia de manera importante el crecimiento
de la comunidad de desarrolladores.
API 4

 Android “ECLAIR” - versión 2.0


Lanzamiento: Diciembre 2009
Funciones: Zoom digital de la cámara de fotos y video,
mejoras en Google Maps, nuevo navegador de internet con
soporte de video e incluso de Flash, salvapantallas animadas.

Realizado por: Diana Alfaro Página 3


Nota: Comienza a demostrar la robustez y estabilidad como
sistema operativo para dispositivos móviles.
API 5

 Android “FROYO” - versión 2.2


Lanzamiento: Mayo 2010
Funciones: mejora de memoria, mucho mas veloz que las
versiones anteriores, WiFi incluido, soporte de correo
electrónico Microsoft Exchange y video llamada. Soporta Flash
Nota: Ya tomando su sitio de honor entre la mayoría de los
dispositivos móviles a nivel mundial. Excelente aceptación
por parte de los usuarios.
API 8

 Android “GINGERBREAD” - versión 2.3


Lanzamiento: Diciembre 2010
Funciones: Mejora del soporte de video online, mejora de la
gestión de la energía (y consumo de la batería), mejora del
teclado virtual, soporte para pagos mediante NFC.
Nota: Abre mas posibilidades para usuarios totalmente
conectados. API 9, 10

 Android “HONEY COMB” -versión 3.0/3.4


Lanzamiento: Mayo 2011
Funciones: Sistema operativo optimizado para tablets, posee
plenas funcionalidades multitareas (multitasking) para
cambiar de aplicaciones en uso dejando las demás en espera
visibles en una columna, soporte Flash y DivX, aparte de los
navegadores privados tradicionales integra Dolphin, home page
personalizable y widgets.
Nota: Esta versión está optimizada para Tablets, manteniendo
en smartphone la versión 2.3
API 11

 Android “ICECREAM SANDWICH” - versión 4.0


Lanzamiento: Finales 2011
Funciones: Diseñado para todas las plataformas (smartphones,
tablets y netbooks de todas las medidas), pantalla principal
con imágenes 3D, barras de estado y widgets redimensionables,
reconocimiento facial, mejora de reconocimiento de voz;
soporte USB para teclados y controles para PS3.
Nota: Novedades y mejoras en la navegación e interfaz, con el
objetivo de dinamizar y facilitar la experiencia del usuario.
API 14

Realizado por: Diana Alfaro Página 4


 Android “JELLY BEAN” - versión 4.3
Lanzamiento: Julio 2013
Funciones: Motor multi-idioma de Síntesis de habla para
permitir a cualquier aplicación de Android "hablar" una
cadena de texto, fotos panorámicas con "Photo Sphere", etc.
Nota: Por primera vez en Android se incluyen los idiomas
hebreo, árabe, afrikáans, amhárico, hindi, suajili y zulú.
Posee un sistema de localización Wi-Fi en segundo plano.
API 16

 Android “KITKAT” - versión 4.4


Lanzamiento: Finales 2013
Funciones: Optimización de múltiples tareas, vista web en
Chrome, fotos en HDR+, etc.
Nota: Integración de SMS en Hangouts, emoji.
API 19

 Android “LOLLIPOP” - versión 5.0


Lanzamiento: Diciembre 2014
Funciones: Rediseño de la interfaz de usuario basado en
“Material design”, cambios en las notificaciones, pantalla de
bloqueo, optimización de la batería.
API 21

 Android Marshmallow – versión 6.0


Lanzamiento: Mayo 2015
Funciones: Soporte nativo para el reconocimiento de huellas
digitales. Un nuevo sistema de administración de energía
conocida como "doze" reduce las actividades en fondo del
dispositivo cuando el sistema operativo detecta que el
dispositivo no está siendo tocado físicamente.
API 23

Realizado por: Diana Alfaro Página 5


ARQUITECTURA EN ANDROID

Android está formado por 4 capas, cada una de ellas basadas


en software libre.

1.- El núcleo Linux

El núcleo de Android está formado por el sistema operativo


Linux versión 2.6. Esta capa proporciona servicios como la
seguridad, el manejo de la memoria, el multiproceso, la pila de
protocolos y el soporte de drivers para dispositivos.

Esta capa del modelo actúa como capa de abstracción entre el


hardware y el resto de la pila. Por lo tanto, es la única que es
dependiente del hardware.

2.1- Runtime de Android

Está basado en el concepto de máquina virtual utilizado en


Java. Dado las limitaciones de los dispositivos donde ha de correr
Android (poca memoria y procesador limitado) no fue posible
utilizar una máquina virtual Java estándar. Google tomó la

Realizado por: Diana Alfaro Página 6


decisión de crear una nueva, la máquina virtual Dalvik, que
respondiera mejor a estas limitaciones.

También se incluye en el Runtine de Android el “core


libraries” con la mayoría de las librerías disponibles en el
lenguaje Java.

2.2.- Librerías nativas

Incluye un conjunto de librerías en C/C++ usadas en varios


componentes de Android. Están compiladas en código nativo del
procesador. Muchas de las librerías utilizan proyectos de código
abierto.

3.- Entorno de aplicación

Proporciona una plataforma de desarrollo libre para


aplicaciones con gran riqueza e innovaciones (sensores,
localización, servicios, barra de notificaciones,).

Esta capa ha sido diseñada para simplificar la reutilización


de componentes. Las aplicaciones pueden publicar sus capacidades y
otras pueden hacer uso de ellas (sujetas a las restricciones de
seguridad). Este mismo mecanismo permite a los usuarios reemplazar
componentes.

Una de las mayores fortalezas del entorno de aplicación de


Android es que se aprovecha el lenguaje de programación Java.

4.- Aplicaciones

Este nivel está formado por el conjunto de aplicaciones


instaladas en una máquina Android. Todas las aplicaciones han de
correr en la máquina virtual Dalvik para garantizar la seguridad
del sistema.

Normalmente las aplicaciones Android están escritas en Java.


Para desarrollar aplicaciones en Java podemos utilizar el Android
SDK. Existe otra opción consistente en desarrollar las
aplicaciones utilizando C/C++. Para esta opción podemos utilizar
el Android NDK (Native Development Kit).

Realizado por: Diana Alfaro Página 7


ENTORNO DE DESARROLLO
1. Descargar el SDK de Android.

El SDK de la plataforma Android se puede descargar desde


http://developer.android.com/sdk/index.html junto con el IDE de
Android Studio

Realizado por: Diana Alfaro Página 8


Realizado por: Diana Alfaro Página 9
Este descarga, incluye tambien el ultimo API. Si se desea
descargar otra API u otras herramientas tendremos que descargar su
target correspondiente.

Realizado por: Diana Alfaro Página 10


Realizado por: Diana Alfaro Página 11
Realizado por: Diana Alfaro Página 12
2. Crear un emulador

Para configurar el emulador sólo se debe ingresar a la opción


AVD Manager

Indicar el tamaño del emulador

Realizado por: Diana Alfaro Página 13


Seleccionamos la imagen del sistema

Ingresamos nombre del emulador

Realizado por: Diana Alfaro Página 14


3. Crear proyecto en Android

Al momento de crear un proyecto nuevo de android, aparecerá una


primera pantalla donde colocaremos el nombre de la aplicación, el
nombre del proyecto, el paquete java

Luego seleccionamos la versión mínima del SDK que aceptará


nuestra aplicación (Minimum Required SDK) para cada tipo de
dispositivo

Realizado por: Diana Alfaro Página 15


La siguiente pantalla es para elegir el tipo de Actividad
principal de la aplicación. Dejar todo por defecto, la pantalla
principal será del tipo BlankActivity.

Realizado por: Diana Alfaro Página 16


El último paso es para indicar los datos de esta actividad
principal, nombre de la clase java asociada y el nombre del layout
.xml

Luego pulsamos Finish y Android Studio creará un nuevo


proyecto Android con esta estructura:

Realizado por: Diana Alfaro Página 17


ESTRUCTURA DE UN PROYECTO ANDROID
Cuando creamos un nuevo proyecto Android en Android Studio se
genera automáticamente la estructura de carpetas necesaria para
poder generar posteriormente la aplicación. Esta estructura será
común a cualquier aplicación, independientemente de su tamaño y
complejidad. En la siguiente imagen vemos los elementos creados
inicialmente para un nuevo proyecto Android:

Realizado por: Diana Alfaro Página 18


Describamos los elementos principales.

 Carpeta /src/

Contiene todo el código fuente de la aplicación, código de la


interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse
creará por nosotros el código básico de la pantalla (Activity)
principal de la aplicación, siempre bajo la estructura del paquete
java definido.

 Carpeta /res

Contiene todos los ficheros de recursos necesarios para el


proyecto: imágenes, vídeos, cadenas de texto, etc. Los diferentes
tipos de recursos de deberán distribuir entre las siguientes
carpetas:

 /res/drawable/ Contiene las imágenes [y otros elementos


gráficos] usados en por la aplicación. Para definir
diferentes recursos dependiendo de la resolución y densidad

Realizado por: Diana Alfaro Página 19


de la pantalla del dispositivo se suele dividir en varias
subcarpetas:
 /drawable-ldpi (densidad baja)
 /drawable-mdpi (densidad media)
 /drawable-hdpi (densidad alta)
 /drawable-xhdpi (densidad muy alta)

 /res/layout/ Contiene los ficheros de definición XML de las


diferentes pantallas de la interfaz gráfica. Para definir
distintos layouts dependiendo de la orientación del
dispositivo se puede dividir en dos subcarpetas:
o /layout (vertical)
o /layout-land (horizontal)

 /res/color/ Contiene ficheros XML de definición de colores


según estado.
 /res/menu/ Contiene la definición XML de los menús de la
aplicación.
 /res/xml/ Contiene otros ficheros XML de datos utilizados por
la aplicación.
 /res/raw/ Contiene recursos adicionales, normalmente en
formato distinto a XML
 /res/values/ Contiene otros ficheros XML de recursos de la
aplicación, como por ejemplo cadenas de texto (strings.xml),
estilos (styles.xml), colores (colors.xml), arrays de valores
(arrays.xml), etc.

Entre los recursos creados por defecto, cabe destacar el


layout “activity_main.xml”, que contiene la definición de la
interfaz gráfica de la pantalla principal de la aplicación

 Carpeta /gen/

Contiene una serie de elementos de código generados


automáticamente al compilar el proyecto. Cada vez que generamos
nuestro proyecto, la maquinaria de compilación de Android genera
por nosotros una serie de ficheros fuente en java dirigido al
control de los recursos de la aplicación.

Realizado por: Diana Alfaro Página 20


Esta clase R contendrá en todo momento una serie de
constantes con los ID de todos los recursos de la aplicación
incluidos en la carpeta /res/, de forma que podamos acceder
facilmente a estos recursos desde nuestro código a través de este
dato. Así, por ejemplo, la constante R.drawable.icon contendrá el
ID de la imagen “icon.png” contenida en la carpeta/res/drawable/.

FICHERO ANDROIDMANIFEST.XML
Contiene la definición en XML de los aspectos principales de
la aplicación, como por ejemplo su identificación (nombre,
versión, icono,...), sus componentes (pantallas, mensajes,...), o
los permisos necesarios para su ejecución.

ANDROID TIPS

 Si se ejecuta un proyecto en un dispositivo virtual y luego


se hacen modificaciones de código o se corre en modo debug,
no es necesario cerrar la instancia del AVD sino que
simplemente hay que presionar el botón Run.
 Utilizar siempre Relative Layouts para tener GUI utilizables
en todas las resoluciones.
 Aprovechar los recursos .xml disponibles, por ejemplo
strings, colours y styles.
 Definir en el Manifest de la aplicación todas las
características de la aplicación, de esta manera se evitará
que se instale en dispositivos que no la soporten evadiendo
los puntajes y comentarios negativos.
 Ubicar en las carpetas específicas para las distintas
pantallas las imágenes diseñadas para las distintas
resoluciones.
 El éxito de una aplicación para Android radica principalmente
en el diseño de la interfaz gráfica y la interacción con los
recursos del teléfono
 La mayores optimizaciones se pueden hacer en base al diseño
de las UI.
 Utilizar “sp” (space independent pixels) o “dip” (distance
independent pixels) en vez de “px” para definir medidas ya
que de esta forma podremos tenes elementos escalables a las
distintas densidades de pantallas.
 Hacer las pruebas sobre muchas configuraciones de
dispositivos virtuales distintas.

Realizado por: Diana Alfaro Página 21


Aplicación en Android No.1

 Descripción de la app: Esta aplicación constará de un pequeño


formulario que contiene un EditText y un elemento Button, la
acción del botón mostrará una alerta, pudiendo salir de la
aplicicación o no. También se escribirán mensajes en el log
de la app.
Palabras claves: Activity, Layout, TextView, EditText,
Button, onClick, id, R, Log, Toast.
Objetivos: manipular elementos view de android, realizar
interfaz gráfica, manejo de eventos, mensajes de alerta y/o
notificaciones al usuario, finalizar aplicación, depuración
de aplicaciones, ejecución de aplicaciones en el emulador.

Código java (MainActivity.java)

Realizado por: Diana Alfaro Página 22


Código archivo layout (activity_main.xml)

Diseño archivo layout (activity_main.xml)

Realizado por: Diana Alfaro Página 23


Código archivo strings.xml

Código archivo AndroidManifiest.xml

Realizado por: Diana Alfaro Página 24


Aplicación en Android No.2

 Descripción de la app: Manejo de varias actividades en una


app, envio y recuperación de datos entre actividades
Palabras claves: Activity, Layout, TextView, EditText,
Button, onClick, id, R, Log, Toast, Alert, Intent.
Objetivos: iniciar otras actividades desde la actividad
principal, envío y recuperación de datos entre actividades.

Código java (MainActivity.java)

Realizado por: Diana Alfaro Página 25


Código java (Segundo Activity.java)

Realizado por: Diana Alfaro Página 26


Código archivo layout (activity_main.xml)

Código archivo layout (activity_segundo.xml)

Realizado por: Diana Alfaro Página 27


Código archivo string.xml

Código archivo AndroidManifiest.xml

Realizado por: Diana Alfaro Página 28

Das könnte Ihnen auch gefallen