Desarrollo de Aplicaciones para Android
 

Intefaz de usuario - Ejercicios

LinearLayout

Crea una aplicación llamada LinearLayout. La aplicación contendrá una única actividad, llamada LinearLayout, cuya interfaz gráfica estará contruida exclusivamente a partir de layouts de tipo LinearLayout y deberá ser lo más parecida posible a la mostrada en la siguiente imagen.

Interfaz gráfica de la aplicación LinearLayout

Nota
Las líneas han sido creadas por medio de elementos View a los que se les ha asignado una altura de 1dip mediante el atributo android:layout_height y un color de fondo #FFFFFF mediante el atributo android:background.

Ciudades

En este ejercicio practicaremos con los elementos de tipo Spinner. Importa el proyecto de las plantillas de la sesión. La aplicación Ciudades contendrá una única actividad. La interfaz de dicha actividad estará compuesta por un TextView con android:id="@+id/texto"y dos elementos de tipo Spinner con identificadores android:id="@+id/paises" y android:id="@+id/ciudades". El primero de ellos permitirá escoger entre tres países cualquiera (inicialmente ningún país estará seleccionado). El segundo permitirá escoger una ciudad según el país seleccionado en el anterior. Cada vez que se seleccione un país en el primer Spinner deberán cambiar las opciones del segundo, mostrando dos ciudades del país seleccionado.

La ciudad seleccionada en el segundo Spinner aparecerá en el TextView de la parte superior.

Para completar el ejercicio debes seguir los siguientes pasos:

  • Añade el TextView y los dos Spinner al recurso layout de la aplicación, sin olvidar añadir a estos dos últimos su correspondiente atributo android:prompt (con los textos "Selecciona país" y "Selecciona ciudad" respectivamente).
  • Las opciones para los Spinner ya están creadas en el archivo arrays.xml de los recursos. Ábrelo para ver los diferentes conjuntos que hay.
  • El primer Spinner ya viene rellenado con sus correspondientes opciones.
  • Rellena el segundo Spinner con las ciudades correspondintes al primer país. Esto debes hacerlo así porque siempre que inicies la actividad será el primer país el que se encuentre seleccionado.
  • Asígnale al TextView como valor inicial el nombre de la primera ciudad, pues será la que se encontrará seleccionada al iniciar la actividad.
  • El Spinner de paises ya tiene un manejador añadido para que cada vez que se seleccione una opción se muestren las opciones adecuadas en el Spinner de ciudades.
  • Añade un manejador al Spinner de ciudades para que cada vez que se seleccione una opción se muestre en el TextView. Para obtener el texto correspondiente a la opción seleccionada en el Spinner puedes utilizar el método getSelectedItem del mismo. Una vez hecho esto puedes llamar al método toString para obtener la cadena correspondiente.

Calculadora sencilla

El objetivo de este ejercicio es implementar una calculadora sencilla. La aplicación Calculadora contendrá una única actividad de nombre Principal, vuya interfaz gráfica tendrá el siguiente aspecto:

Interfaz gráfica de la aplicación Calculadora

Como se puede observar nuestra calculadora es bastante limitada. Tan solo acepta dos operandos (que se podrán introducir en los dos EditText) y cuatro operaciones seleccionables con el Spinner: +, -, * y /. En el TextView inferior deberá aparecer el resultado de la operación cuando se pulse el botón Ok.

A la hora de diseñar la interfaz se ha utilizado un RelativeLayout. Los atributos más importantes utilizados han sido: layout_alignParentRight, layout_below, align_marginRight, android:inputType="number" para los EditText y android:gravity="right" para el TextView y los EditText.

Abrir actividades desde un menú (*)

En este ejercicio vamos a importar las plantillas de una aplicación llamada Activities para navegar entre tres actividades. Las tres actividades tendrán de nombre Actividad1, Actividad2 y Actividad3. La interfaz gráfica de cada una de ellas consistirá únicamente en un TextView mostrnado su nombre. Desde cada una de ellas se podrá acceder a las otras dos mediante un menú de iconos. Esto quiere decir que el menú de cada actividad será distinto y se compondrá de dos únicas opciones.

En las plantillas de la sesión se incluye un proyecto con una de las actividades ya creada. Se incluyen iconos para el menú, llamados icono1.png, icono2.png y icono3.png.

Recuerda que para crear una nueva actividad hay que añadirla también al AndroidManifest.xml, antes del cierre de <application/>:

 
        <activity android:name=".Actividad2"
                  android:label="@string/app_name">
        </activity>

Interfaz de la aplicación Navegacion

Nota
Prueba a asignar al atributo android:noHistory de cada actividad en el Manifest de la aplicación el valor true. Çomprueba cuál es el nuevo comportamiento al pulsar el botón "Atrás" del dispositivo móvil.

Fragments (*)

Importa el proyecto Fragments de las plantillas. Ejecútalo en un emulador con Android 4.0.x y cambia la orientación del emulador con Ctrl-F11. Comprueba cómo funcionan los fragmentos en cada caso.