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.

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.

Calculadora sencilla

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

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.

Ciudades

En este ejercicio practicaremos con los elementos de tipo Spinner. Crea una nueva aplicación llamada Ciudades con 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).

  • Crea las opciones para los Spinner en el archivo arrays.xml de los recursos con el siguiente contenido:

<resources>
    <string-array name="paises">
        <item>España</item>
        <item>Alemania</item>
        <item>Francia</item>
    </string-array>

    <string-array name="ciudadesespana">
        <item>Madrid</item>
        <item>Barcelona</item>
    </string-array>

    <string-array name="ciudadesalemania">
        <item>Berlin</item>
        <item>Wacken</item>
    </string-array>

    <string-array name="ciudadesfrancia">
        <item>París</item>
        <item>Marsella</item>
    </string-array>
</resources>
  • Completa las opciones correspondientes del primer Spinner para que cargue el array de países.

  • 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.

  • Crea un evento para el Spinner de paises 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.

Abrir actividades

En este ejercicio vamos a crear 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 mostrando su nombre y dos botones para cambiar a las otras dos actividades posibles. Los botones de cada actividad serán distintos: en la actividad 1 tendremos botones para ir a la actividad 2 y 3, en la 2 para ir a la 1 y la 3, y en la 3 para ir a la 1 y la 2.

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>

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

Última actualización