Editando
Android
(sección)
Ir a la navegación
Ir a la búsqueda
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
=Tema 2= ==PDF== Cada aplicación se ejecuta en su propia sandbox. Este sandbox evita que las app interfieran entre ellas.<br/> Hay maneras de comunicar apps entre ellas:<br/> *Arrancando dos apps con el mismo identificador de usuario Linux. Estas dos apps podran correr en el mismo proceso y compartir la misma VM.<br/> *Una app puede solicitar permisos para acceder a datos comunes, tales como sms, telefono, sd, ...<br/> Existen diferentes apps en Android:<br/> *Primer plano: App que requiere interacción con el usuario (Juegos, Chrome, ...) *Segundo plano: Apps de llamadas, ... *Intermitente: Útil tanto en primer como en segundo plano. Ej: App de correo. *Widget: Pequeñas app en el escritorio. Componentes:<br/> *Son los bloques básicos de una app.<br/> *Cada componente es un punto de acceso distinto a través del cual el sistema puede acceder a la app.<br/> *No todos los componentes son puntos de entrada par ael usuario.<br/> *Cada componenete juega un rol específico.<br/> *4 tipos de Componentes básicos:<br/> **Activities ***Suele corresponderse con una interfaz gráfica desde la que pueden realizar un conjunto de acciones. ***Para crear una activity debemos crear una subclase de Activity o utilizar una de las existentes. ***Los dos métodos más importantes son: ****onCreate(): Será llamado cuando se cree la actividad. Deberemos implementar la inicialización esencial de los componentes de la activity. Aquí deberemos llamar a setContentView( ) para definir el layout de la interfaz. ****onPause(): Será llamado cuando el usuario deje la activity, lo cual no quiere decir que vaya a ser destruida siempre. Generalmente deberemos guardar cualquier cambio que deba ser persistente para la sesión del usuario. **Services ***Este componente realiza operaciones largas en background y no ofrece una interfaz de usuario. ***Aunque se ejecutan en segundo plano, como cualquier otro componente, se ejecutan en el hilo principal del proceso que los alberga. ***Para crear un Service debemos crear una subclase de Service o alguna de sus subclases. ***Métodos: ****onStartCommand() Este método es el que se ejecuta cuando otro componente llama a startService() para iniciarlo. Una vez se ejecuta este método el servicio empieza a ejecutarse en background de forma indefinida. Deberemos parar el servicio cuando la tarea se realice mediante stopSelf() o mediante stopService(). ****onBind() Este método se ejecuta cuando otro componente quiere enlazar con el servicio mediante bindService(). En la implementación de este método se deberá proveer de una interfaz con la que el usuario pueda comunicarse con el servicio( mediante un IBinder ) **Content providers ***Los content provider controlan la lectura/escritura de datos en la aplicación. Se puede almacenar datos en el sistema de ficheros, base de datos, en la web o cualquier otro método de persistencia al cual podamos acceder con el dispositivo. ***A través de los content provider, el resto de aplicaciones pueden consultar o incluso modificar datos (en caso de que el content provider lo permita) ***Android proporciona un conjunto de content providers para los tipos de datos más comunes: audio, vídeo, imágenes, contactos, SMS... **Broadcast receivers ***Un broadcast receiver es un componente que responde a eventos globales, como podría ser la llegada de un mensaje o un aviso de batería baja. ***La mayoría de los eventos se generan por el propio sistema, pero las aplicaciones también pueden iniciar broadcasts. ***Aunque los broadcast no pueden generar una interfaz de usuario, pueden crear notificaciones de status bar para avisar al usuario de lo ocurrido. ***Usualmente se utilizan como una forma de comunicarse con otros componentes con una mínima cantidad de trabajo. ***Implementan el método onReceive ***Si están declarados en el manifiesto de una aplicación pueden ser lanzados a ejecución cuando haga falta. ***Las aplicaciones deben registrar sus receptores de eventos a través del método. *Las activities, services y broadcast receivers se activan a través de unos mensajes llamados intents. *Un intent es una manera fácil de enlazar en tiempo de ejecución varias componentes de la misma o distintas aplicaciones. *El objeto Intent es una estructura de datos pasivos que contienen una descripción abstracta de la operación a realizar. En el caso de los broadcast, puede incluir una pequeña descripción de lo que ha pasado y que será anunciado. *Su principal cometido es el de lanzar los tres componentes anteriores a ejecución, por lo cual puede verse como un nexo entre los mismos. Dependiendo del componente se lanzará de distinta manera. *Los intent son un conjunto de información. Esta información de interés se puede dividir en los siguientes apartados: **Component Name **Action **Data **Category **Extras **Flags Manifest:<br/> ==Ej1== Cada Activity tiene tres estados: running, pause y stopped.<br/> La clase android.util.Log envia mensajes de log en tiempo de ejecucion.<br/> Existen varios niveles de logs: e()->error, w()->warning, i()->info, d()->debug y v()->verbose.<br/> <pre> public class MainActivity extends Activity { private static final String TAG = "DEBUG T2Ej1"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "Llamando onCreate"); } @Override protected void onStart() { super.onStart(); Log.d(TAG, "Llamando onStart"); } @Override protected void onPause() { super.onPause(); Log.d(TAG, "Llamando onPause"); } @Override protected void onStop() { super.onStop(); Log.d(TAG, "Llamando onStop"); } @Override protected void onDestroy() { super.onDestroy(); Log.d(TAG, "Llamando onDestroy"); } @Override protected void onResume() { super.onResume(); Log.d(TAG, "Llamando onResume"); } </pre> Logcat-> es donde nos aparecen todos los mensajes en tiempo de ejecucion.<br/> Podemos crear filtros para poder ver los mensajes que nos interesan.<br/> ==Ej2== Un Toast es un mensaje que se muestra en pantalla durante unos segundos al usuario para luego volver a desaparecer automáticamente sin requerir ningún tipo de actuación por su parte, y sin recibir el foco de la aplicación en ningún momento.<br/>
Resumen:
Ten en cuenta que todas las contribuciones a Proyectos se consideran publicadas bajo la Creative Commons Atribución-CompartirIgual (véase
Proyectos:Derechos de autor
para más información). Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre.
¡No uses textos con copyright sin permiso!
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Menú de navegación
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Espacios de nombres
Página
Discusión
español
Vistas
Leer
Editar
Ver historial
Más
Buscar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Páginas especiales
Herramientas
Lo que enlaza aquí
Cambios relacionados
Información de la página