32
ANDROID > NIVEL 1

 · Web viewAndroid 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,

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1:  · Web viewAndroid 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,

ANDROID > NIVEL 1

Page 2:  · Web viewAndroid 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,

CONTENIDO: ANDROID Nivel 1CONTENIDO: ANDROID Nivel 1.........................................................................................2

ANDROD......................................................................................................................................3

APIS EN ANDROID..................................................................................................................3

ARQUITECTURA EN ANDROID................................................................................................5

ENTORNO DE DESARROLLO....................................................................................................8

1. Descargar el SDK de Android......................................................................8

2. Crear un emulador..............................................................................................9

3. Crear proyecto en Android..........................................................................10

ESTRUCTURA DE UN PROYECTO ANDROID.......................................................................15

Carpeta /src/.........................................................................................................15

Carpeta /res...........................................................................................................15

Carpeta /gen/.........................................................................................................17

FICHERO ANDROIDMANIFEST.XML.....................................................................................17

Atributos.........................................................................................................................17

ANDROID TIPS......................................................................................................................19

Aplicación en Android No.1.......................................................................................20

Código java (MainActivity.java)........................................................................20

Código archivo layout (activity_main.xml)..................................................21

Diseño archivo layout (activity_main.xml)..................................................21

Código archivo strings.xml...................................................................................22

Código archivo AndroidManifiest.xml...............................................................22

Aplicación en Android No.2.......................................................................................23

Código java (MainActivity.java)........................................................................23

Código java (Segundo Activity.java)...............................................................23

Código archivo layout (activity_main.xml)..................................................23

Código archivo layout (activity_segundo.xml)...........................................23

Código archivo string.xml.....................................................................................23

Código archivo AndroidManifiest.xml...............................................................23

Realizado por: Diana Alfaro Página 2

Page 3:  · Web viewAndroid 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,

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.5Lanzamiento: Abril del 2009Funciones: 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.6Lanzamiento: Septiembre 2009Funciones: 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

Realizado por: Diana Alfaro Página 3

Page 4:  · Web viewAndroid 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,

Lanzamiento: Diciembre 2009Funciones: 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.Nota: Comienza a demostrar la robustez y estabilidad como sistema operativo para dispositivos móviles. API 5

Android “FROYO” - versión 2.2Lanzamiento: Mayo 2010Funciones: mejora de memoria, mucho mas veloz que las versiones anteriores, WiFi incluido, soporte de correo electrónico Microsoft Exchange y video llamada. Soporta FlashNota: 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.3Lanzamiento: Diciembre 2010Funciones: 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.4Lanzamiento: Mayo 2011Funciones: 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.0Lanzamiento: Finales 2011Funciones: Diseñado para todas las plataformas (smartphones, tablets y netbooks de todas las medidas),

Realizado por: Diana Alfaro Página 4

Page 5:  · Web viewAndroid 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,

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

Android “JELLY BEAN” - versión 4.3Lanzamiento: Julio 2013Funciones: 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.4Lanzamiento: Finales 2013Funciones: 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.0Lanzamiento: Diciembre 2014Funciones: 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.0Lanzamiento: Mayo 2015Funciones: 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

Page 6:  · Web viewAndroid 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,

Realizado por: Diana Alfaro Página 6

Page 7:  · Web viewAndroid 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,

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

Realizado por: Diana Alfaro Página 7

Page 8:  · Web viewAndroid 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,

de correr Android (poca memoria y procesador limitado) no fue posible utilizar una máquina virtual Java estándar. Google tomó la 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

Realizado por: Diana Alfaro Página 8

Page 9:  · Web viewAndroid 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,

las aplicaciones utilizando C/C++. Para esta opción podemos utilizar el Android NDK (Native Development Kit).

ENTORNO DE DESARROLLO1. 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 9

Page 10:  · Web viewAndroid 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,

Realizado por: Diana Alfaro Página 10

Page 11:  · Web viewAndroid 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,

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 11

Page 12:  · Web viewAndroid 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,

Realizado por: Diana Alfaro Página 12

Page 13:  · Web viewAndroid 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,

Realizado por: Diana Alfaro Página 13

Page 14:  · Web viewAndroid 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,

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 14

Page 15:  · Web viewAndroid 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,

Seleccionamos la imagen del sistema

Ingresamos nombre del emulador

Realizado por: Diana Alfaro Página 15

Page 16:  · Web viewAndroid 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,

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 16

Page 17:  · Web viewAndroid 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,

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 17

Page 18:  · Web viewAndroid 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,

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 18

Page 19:  · Web viewAndroid 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,

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 19

Page 20:  · Web viewAndroid 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,

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

Realizado por: Diana Alfaro Página 20

Page 21:  · Web viewAndroid 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,

densidad 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.

Esta clase R contendrá en todo momento una serie de constantes con los ID de todos los recursos de la aplicación

Realizado por: Diana Alfaro Página 21

Page 22:  · Web viewAndroid 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,

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.XMLContiene 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 22

Page 23:  · Web viewAndroid 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,

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 23

Page 24:  · Web viewAndroid 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,

Código archivo layout (activity_main.xml)

Realizado por: Diana Alfaro Página 24

Page 25:  · Web viewAndroid 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,

Diseño archivo layout (activity_main.xml)

Código archivo strings.xml

Realizado por: Diana Alfaro Página 25

Page 26:  · Web viewAndroid 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,

Código archivo AndroidManifiest.xml

Realizado por: Diana Alfaro Página 26

Page 27:  · Web viewAndroid 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,

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 actividadesPalabras 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 27

Page 28:  · Web viewAndroid 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,

Código java (Segundo Activity.java)

Realizado por: Diana Alfaro Página 28

Page 29:  · Web viewAndroid 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,

Código archivo layout (activity_main.xml)

Código archivo layout (activity_segundo.xml)

Realizado por: Diana Alfaro Página 29

Page 30:  · Web viewAndroid 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,

Código archivo string.xml

Código archivo AndroidManifiest.xml

Realizado por: Diana Alfaro Página 30