Você está na página 1de 29

CURSO BSICO DE ANDROID

Ing. Carlos Eduardo Daz


Mail: diazedu@gamil.com Fuente: developer.android.com

Temario

Introduccin Arquitectura de Android Componentes y Estructura Entorno de Trabajo

Qu es Android?

Es un conjunto de software disponible para dispositivos mviles que incluye un sistema operativo con una capa de abstraccin de aplicaciones dirigidas a los usuarios (Ver Historia). Ventajas y Desventajas
Sistema iOS
5.0.1 C, C++, Objective -c Propietaria Muy variadas. Requiere de un registro exclusivo para la tienda Instantneas para la mayora de los equipos de la firma Muy visual. Totalmente tctil y compatible con alta definicin

Android
4.0.3 C, C++, Java Gratuita y Open Source Enorme variedad y acceso usando cuenta de Gmail Buena frecuencia de actualizaciones, pero con demasiadas demoras y limitaciones por la variedad del fabricante Potenciado por windgets. Mala organizacin de los iconos. A tono con la tendencias actuales

BlackBerry
7.0.0 Java Propietaria Poca variedad y a destiempo con las tendencias del mercado Fciles de incorporar, pero las que vienen demandarn de un cambio de equipo Sistema muy tosco y sin elementos visuales.

Ultima Versin Lenguaje Base Licencia Aplicaciones

Actualizaciones

Experiencia de uso

Caractersticas de Android:

Framework de aplicaciones: permite la reutilizacin y reemplazo de componentes. Mquina virtual Dalvik: optimizada para dispositivos mviles. Navegador integrado: basado en el motor open source WebKit. Grficos optimizados, con una librera de grficos 2D; grficos 3D . SQLite para almacenamiento de datos estructurados.(sqlite.org) Soporte para medios con formatos comunes de audio, vdeo e imgenes planas (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) Bluetooth, EDGE, 3G, y WiFi (dependiente del hardware) Cmara, GPS, brjula (dependiente del hardware) Android Market permite que los desarrolladores pongan sus aplicaciones, gratuitas o de pago, en el mercado de aplicacin donde son accesible desde todos los telfonos con Android (play.google.com)

Arquitectura

Kernel de Linux Android se basa en la versin 2.6 de Linux para los servicios bsicos del sistema como la seguridad, la gestin de memoria, gestin de procesos, implementacin de conectividad de red , y el modelo de controlador. El ncleo tambin acta como una capa de abstraccin entre el hardware y el resto de los softwares.

Libreras y Ejecucin Sobre el kernel, tenemos un conjunto de libreras de C y C++ utilizadas por el sistema para varios fines como el manejo de la pantalla (surface manager), mapas de bits y tipos de letra (Free Type), grficas en 2D y 3D (SGL y OpenGL), manejo de multimedia (Media Framework), almacenamiento de datos (SQLite) y un motor para las vistas web y el navegador (WebKit). Junto a estas libreras, encontramos lo necesario para la ejecucin de las aplicaciones a travs de la mquina virtual Dalvik. (*. DEX).

Estructura de aplicaciones Sobre las libreras encontramos una estructura que nos brinda un contexto para desarrollar, este framework permite a los desarrolladores aprovechar un sistema de vistas ya construido, administrar notificaciones y aceder datos a travs de proveedores de contenido entre otras cosas.

Aplicaciones Las aplicaciones centrales que incluye el sistema por defecto son: telfono, navegador, manejo de contactos, etc. En esta capa de la arquitectura es donde trabajaremos desarrollando aplicaciones.

Componentes de una Aplicacin Android

Activities Content Providers Services Intents

Preparar el Equipo

JDK ECLIPSE + ADT ANDROID SDK

SDK (software development kit)

Carpeta donde se ubica el SDK: C:\Program Files\Android\android-sdk Documentacin de Android (http://developer.android.com) Depurar aplicaciones con DDMS (Dalvik Debug Monitor Service) Emulador (Ctrl+f11 /Alt +Enter)

Estructura de un Proyecto
Carpeta /src/ Contiene todo el cdigo fuente de la aplicacin, cdigo de la interfaz grfica, clases auxiliares, etc. Carpeta /gen/ Contiene una serie de elementos de cdigo generados automticamente al compilar el proyecto. Carpeta /res/ Contiene todos los ficheros de recursos necesarios para el proyecto: imgenes, vdeos, cadenas de texto, etc. Los diferentes tipos de recursos de debern distribuir entre las siguientes carpetas: /res/drawable/. Contienen las imgenes de la aplicacin. /res/layout/. Contienen los ficheros de definicin de las diferentes pantallas de la interfaz grfica. /res/anim/. Contiene la definicin de las animaciones utilizadas por la aplicacin. /res/menu/. Contiene la definicin de los mens de la aplicacin. /res/values/. Contiene otros recursos de la aplicacin como por ejemplo cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), etc.

Ejercicio 1

Ejercicio 2 (Suma-Bsica)

La Interface se Usuario

En Java o en XML (Ejemplo_Java) Propiedades comunes: Textsize, Textstyle, Gravity, Padding, etc. Layouts: LinearLayout, FrameLayout, RelativeLayout, TableLayout

Imgenes y Fondos de la Aplicacin

Cambiar el fondo (background) Se debe buscar la imagen y copiar en la carpeta res/drawable-mdpi. Establecerlo como fondo de pantalla en el main.xml

Agregar Imgenes

Archivo Manifiesto

Componentes de una Aplicacin


SERVICES
Procesos en segundo plano, no visibles. Monitorean el resto de componentes y actividades de la aplicacin.

ACTIVITIES
Componentes visuales, con una interface de usuario que servir para interactuar con la aplicacin

INTENTS
Encargados de las comunicaciones internas y externas de la aplicacin. Inician componentes, solicitan acciones.

BROADCASTRECEIVERS
Reacciona a Intents concretos y puede ejecutar acciones.

Manifest File
1.

2.
3. 4.

Versin de nuestra aplicacin para Android Market Versiones de Android admitidas Perfiles de Hardware requeridos Permisos para usar componentes especficos < manifest >

<application>

<activity>

Permisos de Uso

El elemento <uses-permission> Acceso al hardware de audio y grabacin: android.permission.RECORD_AUDIO Acceso a todas las APIs de Red: android.permission.INTERNET Permiso almacenamiento externo: android.permission.WRITE_EXTERNAL_STORAGE Permiso antibloqueo: android.permission.WAKE_LOCK

Caracteristicas de Uso

El elemento <uses-feature>
<uses-featue android:name=string android:required=[true |false]/>

Pantalla multitouch basica: android.hardware.touchscreen.multitouch Pantalla multitouch completa: android.hardware.touchscreen.multitouch.disti nct

ListActivity

Es una clase que nos muestra una lista de cosas, en esta clase tambin lo primero que se implementa es el mtodo onCreate(). El mtodo setListAdapter(), nos permite especificar la lista de tems que ListActivity va a mostrar. Clase ArrayAdapter, es la que muestra lo va en la Activity el array creado. onListitemClick(ListView i, View v, int position, long id), mtodo protegido es llamado cuando un tem es pulsado.

Menu

Se va crear un men a partir de su definicin en XML. Los ficheros XML de men se deben colocar en la carpeta res\menu de nuestro proyecto y tendrn una estructura, por ejemplo:

Una vez definido el men en el fichero XML, tendremos que implementar el evento onCreateOptionsMenu() de la actividad que queremos que lo muestre. Primero obtendremos una referencia al inflater mediante el mtodo getMenuInflater() y posteriormente generaremos la estructura del men llamando a su mtodo infate() pasndole como parmetro el ID del menu definido en XML

Menu
Construido el men, la implementacin de cada una de las opciones se incluir en el evento onOptionsItemSelected() de la actividad que mostrar el men. Este evento recibe como parmetro el item de men que ha sido pulsado por el usuario, cuyo ID podemos recuperar con el mtodo getItemId(). Segn este ID podremos saber qu opcin ha sido pulsada y ejecutar unas acciones u otras.

SQLite

En Android, la forma tpica para crear, actualizar, y conectar con una base de datos SQLite ser a travs de una clase auxiliar llamada SQLiteOpenHelper, o para ser ms exactos, de una clase propia que derive de ella y que debemos personalizar para adaptarnos a las necesidades concretas de nuestra aplicacin. La clase SQLiteOpenHelper tiene tan slo un constructor, que normalmente no necesitaremos sobrescribir, y dos mtodos abstractos, onCreate() y onUpgrade(), que deberemos personalizar con el cdigo necesario para crear nuestra base de datos y para actualizar su estructura respectivamente.

SQLite

El mtodo onCreate() ser ejecutado automticamente por nuestra clase SQLiteOpenHelper cuando sea necesaria la creacin de la base de datos, es decir, cuando an no exista. Las tareas tpicas que deben hacerse en este mtodo sern la creacin de todas las tablas necesarias y la insercin de los datos iniciales si son necesarios. Por su parte, el mtodo onUpgrade() se lanzar automticamente cuando sea necesaria una actualizacin de la estructura de la base de datos o una conversin de los datos.

SQLite

Una vez tenemos una referencia al objeto UsuariosSQLiteHelper, llamaremos a su mtodo getReadableDatabase() o getWritableDataba se() para obtener una referencia a la base de datos, dependiendo si slo necesitamos consultar los datos o tambin necesitamos realizar modificaciones, respectivamente.

SQLite: Insertar/Actualizar/Eliminar

La API de SQLite de Android proporciona dos alternativas para realizar operaciones sobre la base de datos que no devuelven resultados. El primero de ellos, es el mtodo execSQL()de la clase SQLiteDatabase. Este mtodo permite ejecutar cualquier sentencia SQL sobre la base de datos, siempre que sta no devuelva resultados. La segunda de las alternativas disponibles en la API de Android es utilizar los mtodos insert(),update() y delete() proporcionados tambin con la clase SQLiteDatabase. Estos mtodos permiten realizar las tareas de insercin, actualizacin y eliminacin de registros de una forma algo ms paramtrica que execSQL(), separando tablas, valores y condiciones en parmetros independientes de estos mtodos.

insert()

Este mtodo recibe tres parmetros, el primero de ellos ser el nombre de la tabla, el tercero sern los valores del registro a insertar, y el segundo null(no se conoce la columna a insertar). Los valores a insertar los pasaremos como elementos de una coleccin de tipo ContentValues. Esta coleccin es de tipo diccionario, donde almacenaremos parejas de clave-valor, donde la clave ser el nombre de cada campo y el valor ser el dato correspondiente a insertar en dicho campo. Los mtodos update() y delete() se utilizarn de forma muy parecida a sta, con la salvedad de que recibirn un parmetro adicional con la condicin WHERE de la sentencia SQL

Você também pode gostar