ANDROID 1 Universidad Mayor de San Andrs Postgrado en Informtica CURSO DE DESARROLLO DE APLICACIONES ANDROID Widgets Workshop 1 Contenido Widget Ejemplos Requisitos RemoteVie ws Layouts soportados View soportados AppWidget ProviderIn fo Diseo del widget Frecuencia de actualizacin AppWidget Provider Mtodos para darle acciones al Widget. UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 2 Widget Widget Es la miniatura de una aplicacin. UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 3 Widget Se necesita para implementar un Widget: Crear el diseo del Widget (RemoteViews) AppWidgetProviderInfo (Caractersticas) AppWidgetProvider (Acciones) Registrar el Widget en el Manifest RemoteViews UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 4 RemoteViews Es un layout especial para realizar el diseo de un Widget. Dentro este control no se pueden colocar todos los controles. Es un diseo normal, por lo cul debe ir dentro el directorio /res/layout/ RemoteViews Controles soportados: LinearLayout Controles FrameLayout (Layouts) RelativeLayout TextView RemoteViews ImageView Button Controles ImageButton Progressbar AnalogClock Chronometer UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 5 AppWidgetProviderInfo AppWidgetProviderInfo Configuracin del Widget con la etiqueta <appwidget-provider> en el cul se puede asignar los siguientes atributos: Diseo del Widget (Layout). Tamao (alto y ancho en la pantalla de inicio). * Frecuencia de actualizacin(en milisegundos). Definicin de la clase AppWidgetProvider. Alguna configuracin extra para la activity. UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 6 Dimensin de un Widget Dimensin de un Widget Regla para definir el ancho y alto de un Widget: N = Nmero de celdas a usar ancho = (N * 70) 30 alto = (N * 70) 30 UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 7 AppWidgetProviderInfo Crear un archivo XML dentro el directorio xml (si no existe debe crearlo en /res/xml/). <?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/r es/android" android:initialLayout="@layout/mi_widget" android:minWidth="250dp" android:minHeight="40dp" android:updatePeriodMillis="20000" > </appwidget-provider> AppWidgetProvider UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 8 AppWidgetProvider Acciones del Widget como ser: Cuando el Widget se actualiza. Cuando el Widget se activa/desactiva. Cuando el Widget se elimina. AppWidgetProvider Heredar una clase de AppWidgetProvider public class Widget extends AppWidgetProvider{ //Mtodos } UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 9 AppWidgetProvider Se pueden implementar los siguientes mtodos: onEnabled(): Cuando se aade al escritorio la 1era instancia de un widget. onUpdate(): Cada vez que se debe actualizar un widget. onDeleted(): Cuando se elimina del escritorio una instancia de un widget. onDisabled(): Cuando se elimina del escritorio la ltima instancia de un widget. onReceive(): Para enviar las llamadas a los distintos mtodos de otros AppWidgetProvider. Widget en el Manifest Cmo ltimo paso debemos registrar el Widget en el Manifest. <receiver android:name=".Widget" android:label="Este es un Widget" > <intent-filter> <action android:name = "android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/mi_widget_propiedades" /> </receiver> UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 10 Demostracin Widget Preguntas y respuestas UMSA-PGI 27/10/2012 CURSO DE DESARROLLO DE APLICACIONES ANDROID 11 UMSA-PGI www.pgi.umsa.bo