Android
La llamada implícita de una actividad la realizamos también con la clase Intent . Pero es implícita porque no indicamos el nombre de la clase correspondiente a la actividad a llamar, sino que establecemos una serie de criterios, y dejamos que el sistema sea el que elija la actividad que cumpla con esos criterios. A un Intent se le pueden asociar acciones, datos y categorías. La Activity declarará el tipo de acción que puede llevar a cabo y el tipo de datos que va a gestionar. Las acciones serán cadenas de texto estándar que describirán lo que la Activity puede hacer. Por poner un ejemplo: android.intent.action.EDIT Es una acción que indica que la activity puede editar datos. Esta acción viene de la clase Intent , pero es posible definir nuevas acciones para nuestras Activities . La misma actividad puede declarar, que el tipo de datos del que se ocupa es, por ejemplo, “ com.android.cursor.dir/option ”. También puede declarar una categoría, que nos indicará desde donde se lanzará la Activity, que posiblemente sea desde el lanzador de aplicaciones, el menú de otra aplicación o desde otra Activity . En el AndroidManifest.xml de la aplicación lo definiríamos de la siguiente manera: Para realizar una llamada implícita a una Activity a través de un Intent , en vez de asignar el nombre de la clase, debemos asignar alguna de las acciones que ésta puede llevar a cabo, contando con el tipo de datos adecuado. Activity e Intent son los dos grandes pilares sobre los que se basa la arquitectura de las aplicaciones Android. 1.4.1.4. Services Llamamos Service en Android a las tareas que se están ejecutando en segundo plano, sin que el usuario esté interactuando con él. Un ejemplo claro sería el reproductor de música. La reproducción la puede iniciar una actividad, y lo normal es que esa reproducción siga aun cuando el usuario abra otro programa diferente. Por lo tanto, el código que controla la reproducción debe estar en un Service . Otro ejemplo sería una utilidad de sincronización de datos de fondo que se esté ejecutando de forma continuada, también debería implementarse como Service . Veamos un pequeño ejemplo de un servicio que arranca un contador y cada segundo va sumando una unidad. Lo insertaremos dentro de un servicio, para que cuando salgamos de la aplicación, siga contando en segundo plano. Y de nuevo al arrancar la aplicación el contador siga en marcha. Lo primero creamos un nuevo proyecto de Android, tal y como hemos descrito anteriormente. Y en el AndroidManifest.xml insertamos el siguiente código:
52