Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ACCIONES COFINANCIADAS CON FONDOS COMUNITARIOS DEL FONDO SOCIAL EUROPEO, A TRAVS DEL PROGRAMA OPERATIVO FONDO SOCIAL EUROPEO DE CANARIAS 20072013 CON UN PORCENTAJE DE CONFINANCIACIN DEL 85%.
Da 1 Qu es Android? Actividades e intenciones Da 2 Layouts y controles grficos Recursos, mens y dilogos Da 3 Persistencia de datos y content providers Grficos y animaciones 2D y 3D Da 4 Servicios en segundo plano Control del hardware especial Da 5 App Widgets y Live folders Publicacin de aplicaciones
Variable R
Autogenerada Rene todos los identificadores Permite identificar a todos los recursos
AssetsManager
Acceso directo al recurso Permite obtener un stream de bytes
Estructura de la variable R
R.color.* R.string.* R.dimen.* R.drawable.* R.amin.* R.menu.* R.layout.* R.styleable.* R.style.* R.xml.* R.raw.*
Tipos de recursos
Anims
Animaciones
/res/anim
Drawable
Imgenes, Shapes
/res/drawable
Layout, Mens
Definiciones de UI, vistas y mens
/res/layout /res/menu
Tipos de recursos
Values
Colores, dimensiones, literales, estilos
/res/values
Xml
Xml arbitrarios compilados, def. de bsquedas
/res/xml
Raw
recursos no compilados
/res/raw: genera identificador en la variable R /assets: no genera identificador, permite cualquier profundidad de directorios (AssetsManager)
Sintaxis de referencia
@[package:]type/name ?[package:][type/]name Rerefencia al tema actual
Package
Paquete donde reside Opcional si est definido en nuestra aplicacin android paquete del sistema
Type
id, color, dimen, drawable, anim, layout, string, attr, xml, style
Gestin de identificadores
@id/text @+id/text Crea el identificador
R.id.text
Funcionamiento
Misma raz de nombre de la carpeta Indicacin de la configuracin separada por
guiones
drawable/ drawable-es/ drawable-es-rES/ drawable-en-rUS-finger/
Funcionamiento (II)
Valores por defecto (carpeta sin indicadores) Algoritmo de seleccin:
Asociados a actividad (Options Menu) Se activan cuando el usuario presiona el botn hardware Menu Contextuales (Context Menu) Se asignan a cualquier vista Se muestra cuando el usuario mantiene pulsado el D-pad, el trackball o pulsa sobre la vista 3 seg.
Definicin
<?xml version="1.0" encoding="UTF-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/options" android:title="@string/options" /> <item android:id="@+id/help" android:title="@string/help"> <menu> <item android:title="Sub_1"/> <item android:title="Sub_2"/> <item android:title="Sub_3"/> </menu> </item> </menu>
Asociacin a actividad
public boolean onCreateOptionsMenu(Menu menu) { this.getMenuInflater() .inflate(R.menu.main_menu, menu); return true; }
public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.options: Intent intent = new Intent("org.helloworld.Intents.Action.OPTIONS"); startActivity(intent); return true; default: return super.onOptionsItemSelected(item); } }
Asociacin a vista
view.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { Helloworld.this.getMenuInflater() .inflate(R.menu.main_menu, menu);
});
parcialmente transparente
Permite:
Responder Si o No Seleccionar uno o varios elementos de una
Creando un dilogo
static final int DIALOG_EXIT_ID = 0;
protected Dialog onCreateDialog(int id) { Dialog dialog; switch(id) { case DIALOG_EXIT_ID: // TODO: Crear el dilogo break; default: dialog = null; } return dialog; } showDialog(DIALOG_EXIT_ID);
Caractersticas
Un icono Un ticker y un titulo expandido Se puede personalizar con una vista propia Una intencin Lanzada cuando el usuario la selecciona Opcionales Sonido, vibracin, LED,
Ejemplo
NotificationManager manager = (NotificationManager) getSystemService(Service.NOTIFICATION_SERVICE);
int icon = android.R.drawable.stat_notify_voicemail; String tickerText = "Nuevo correo"; Context context = getApplicationContext(); String contentTitle = "Tienes nuevo correo"; String contentText = "Buenos das..."; PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MyOtherActivity.class), 0);
Notification notification = new Notification(icon, tickerText, System.currentTimeMillis()); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
manager.notify(1, notification);
Notificaciones cortas
Cortas en tiempo y espacio Texto, aunque podemos asignar una vista
Ampliar Helloworld con men Dilogo de confirmacin de salir Lanzar toast desde men Dilogo de progreso con hilo