Autor

Alejandro Alcalde

Data Scientist and Computer Scientist. Creator of this blog.

Más artículos de Alejandro Alcalde | Porfolio

Conceptos básicos Android

Hola Mundo

Veamos ahora cómo crear la típica aplicación Hola Mundo .

Crear el proyecto

Para ello, en Android Studio, hacemos click en File » New Project. Una vez creada, veremos que la estructura de la aplicación es la mostrada en la imagen.

Componentes del proyecto

Los proyectos de Android siguen una estructura fija de carpetas que debemos respetar.

Carpeta Res

Esta es una de las carpeta que más se va a usar junto con src. Se compila y se generan referencias en la clase R, para acceder a ellos desde código. Están escritos en XML. El propósito de esta carpeta es separar la lógica de la aplicación de la interfaz.

Hola Mundo

Pasemos ahora a describir los distintos componentes de la aplicación.

La apliación creada por defecto tendrá un Activity muy simple, uno de los métodos más importantes de esta clase es onCreate, en él se crean y se instancias los componentes necesarios para dicha Activity, se instancias componentes gráficos, se establecen los callbacks necesarios, eventos etc. El código más simple que se puede obtener en este método es el siguiente:


@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  /**
   * Método encargado de “inflar” la actividad.
   * Inicializar cada componente de la actividad
   * con su correspondiente View.
   */
  setContentView(R.layout.activity_main);
}

Es importante añadir la línea setContentView(R.layout.activity_main);, ya que aquí se define qué layout (Interfaz gráfica) va a usar esta Activity. De no añadirla, cualquier referencia que intentemos hacer de un componente gráfico fallará.

Ciclo de vida de una Activity

La siguiente imagen muestra el ciclo de vida de una Activity, esto es qué flujo de llamadas siguen las aplicaciones. Como vemos, onCreate es el primero método en llamarse al lanzar una Activity, es por ello que en él debemos hacer todas las inicializaciones necesarias. Si lo necesitamos, podemos implementar todos y cada uno de estos métodos. Por ejemplo, en una aplicación de vídeo, interesará detener la reproducción cuando se recibe una llamada, o cuando la pantalla se apaga, toda esa lógica deberá ir en el método onPause o onStop, y debería reanudarse implementando la lógica en onRestart o onResume.

./res/layout/activity_main.xml

Este es el fichero que especifica qué interfaz gráfica queremos en nuestra Activity (Recordemos la llamada setContentView(R.layout.activity_main);). En este caso, la interfaz es un simple TextView que mostrará el mensaje Hola Mundo. (El texto se ha especificado haciendo referencia al fichero de cadenas (strings.xml) definido más abajo, en concreto se hace referencia a la cadena de texto de valor hello_world).


<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
</RelativeLayout>

./res/values/strings.xml

Aquí se definen las cadenas de texto a usar en la aplicación. Siempre deben escribirse en un fichero XML dentro de la carpeta values, ya que de este modo podremos traducir la aplicación a otro idioma fácilmente con tan solo crear otra carpeta llamada values-de, por ejemplo, que contenga las cadenas de texto en Alemán. En este caso, se crea una única cadena de texto de nombre hello_world y de valor Hello World!.


<resources>
    <string name="hello_world">Hello world!</string>
</resources>

En el siguiente artículo se verá a fondo la aplicación Hola Mundo tal y como la crea en estos momentos Android Studio, usando Fragments en lugar de Activity.

¿Has visto algún error?: Por favor, ayúdame a corregirlo contactando conmigo o comentando abajo.