Download androidi i(1)

Document related concepts
no text concepts found
Transcript
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
respondiera mejor a estas limitaciones.
virtual
Dalvik,
que
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
proyecto Android con esta estructura:
Realizado por: Diana Alfaro
Studio
creará
un
nuevo
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
automáticamente al compilar el proyecto. Cada
nuestro proyecto, la maquinaria de compilación
por nosotros una serie de ficheros fuente en
control de los recursos de la aplicación.
Realizado por: Diana Alfaro
código
generados
vez que generamos
de Android genera
java dirigido al
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