
Para posibilitar el control del robot de manera inalámbrica, estamos desarrollando una aplicación para dispositivos Android.
ACTIVIDADES
Activity es la clase principal de Android, encargada de mostrar la interfaz de usuario y permitir la interacción, pues responde a los eventos generados por los usuarios (al pulsar un botón, por ejemplo).
Cuando la actividad se inicia, se invoca el método onCreate(), al que se le pasa como parámetro un objeto de la clase Bundle (contiene el estado anterior de la actividad en caso de que haya sido suspendida). Dentro de él, se llama al método encargado de dibujar por pantalla: el Activity.setContentView(), al que se le pasa como parámetro un objeto View (del que hablaremos posteriormente).
ANDROID MANIFEST
Todos los proyectos Android tienen un fichero AndroidManifest.xml, en el que se detallan las características principales que el sistema debe conocer antes de ejecutar la aplicación.
- Nombrar el paquete Java para la aplicación
- Describir los componentes de la aplicación, como las Actividades
- Declarar los permisos que otros han de tener para interactuar con la aplicación
- Listar librerías que utilizará la aplicación
VIEWS
Todos los componentes de una interfaz de usuario de Android descienden de la clase View: una estructura de datos cuyas propiedades contienen los datos de la capa y la información específica del área de la pantalla. Los objetos de esta clase se agrupan formando un árbol con el que se pueden definir interfaces muy complejas.
Como ya hemos visto, al inicializarse una Activity se llama al método Activity.setContentView(), que se encarga de recorrer el árbol partiendo del objeto View raíz, descendiendo por sus nodos para presentar toda la interfaz. Para dibujar cada elemento de una vista, se invoca al método draw(). Éste llama primero al método measure(), que define el tamaño de cada objeto View, y luego al método layout(), que posiciona el objeto dentro de la vista.
- Un número
- La constante FILL_PARENT, que indica que la vista debe intentar ser tan grande como su padre, quitando el padding.
- La constante WRAP_CONTENT, para que intente ser lo suficientemente grande para mostrar su contenido, más el padding.
CONTEXT
Context es una interfaz para la información global de la aplicación. Gracias a este contexto, un objeto que acaba de ser creado puede saber qué ha pasado en la aplicación hasta ese momento. Además, nos permite acceder a recursos como el lanzamiento de actividades.
LAYOUT
Un Layout nos permite posicionar cada objeto gráfico en un lugar de la pantalla determinado, obteniendo así el diseño de la estructura deseada para nuestra interfaz.
Los Layouts son de tipo ViewGroup, una subclase de View cuya función es contener y controlar una lista de Views.
Existen muchos tipos de Layouts para Android: Frame Layout, Linear Layout, Relative Layout, Table Layout, Tab Layout… Nosotros utilizaremos el Linear Layout, que va colocando a sus hijos unos detrás de otros, comenzando por la esquina superior izquierda de la pantalla.
Para conseguir la interacción del usuario y la aplicación, es necesario responder a los eventos causados por el usuario. Esta función la cumplen los Listeners, que son llamados cada vez que se produce un evento.
- setOnClickListener(): responde cada vez que se pulsa sobre la vista a la que lo aplicamos.
- setOnKeyListener(): para eventos de teclado.
- setOnItemClickListener(): responde al seleccionar un elemento de una lista.
ADAPTER
Mediante el uso de Adapters definimos una forma común de acceder a colecciones de datos: es el responsable de crear la vista que será mostrada para cada elemento en la colección de datos.
Por ejemplo, si cada elemento de una lista estuviera formado a su vez por una imagen y varias etiquetas, el responsable de generar y establecer el contenido de todos estos "sub-elementos" a partir de los datos del propio adaptador.
Esperamos que, con estas nociones básicas, cualquier lector de nuestro blog pueda entender la estructura del software de nuestra aplicación Android. En la próxima entrada comenzaremos a hablar sobre ella.
No hay comentarios:
Publicar un comentario