En el tutorial anterior explicamos el árbol de archivos del proyecto y la función de cada uno de estos, lo que haremos ahora sera explicar el funcionamiento del codigo.
Comenzaremos con el archivo main.xml ( res/values/main.xml y seleccionamos la pestaña main.xml que se encuentra a la derecha de graphical layout) que se puede observar a continuación:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
Los atributos que podemos observar en este código son:
orientation: Indica la orientación del LinearLayout, en este caso vertical, pone a todas las etiquetas anidadas una debajo de la otra.
layout_width y layout_height: Ancho y alto que tomará la etiqueta dentro de la pantalla, en este caso fill_parent(renombrado a match_parent despues del API 8) indica que tomará todo el espacio tanto vertical como horizontalmente (alto y ancho). El parámetro opuesto, wrap_content pide a la etiqueta tomar solo el espacio necesario(después veremos todo esto mas a fondo).
La etiqueta TextView se usa para mostrar texto, el cual fijamos con el atributo text y en este ejemplo se hace una referencia al archivo strings.xml(res/values/strings.xml) mediante el uso de @ y a la variable hello. En este caso también podemos poner directamente la cadena de texto. Observando el archivo strings.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <resources> <string name="hello">Hello World</string> <string name="app_name">Hola Mundo</string> </resources>
Podemos ver como se declaran dos strings, la primera es a la que hacemos referencia en el código anterior y la segunda es la que guarda el nombre de nuestra aplicación la cual nombramos cuando creamos el proyecto. La documentación oficial indica que debemos externalizar los recursos(en este caso strings) del código de la aplicación y esta es la manera en que se hace(de igual manera que con imágenes u otros recursos) y por lo tanto la etiqueta resources es necesaria.
Ahora analizaremos la clase lanzadora del programa, esta es MainActivity.java (src/com.blogspot.cdgandroid.holamundoandroid/MainActivity.java):
package com.blogspot.cdgandroid.holamundoandroid; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }La clase MainActivity hereda de Activity donde una Activity(actividad) usualmente es vista como una ventana que ocupa la pantalla aunque se pueden usar para otras cosas. Esta actividad tiene un ciclo de vida que se representa por varios metodos(en otra entrada se veran con detalle), en este caso solo llamamos al método onCreate que es el que se encarga de inicializar la actividad (el Bundle sirve para pasar información entre actividades). Justo después de declarar el método llamamos a la super clase ya que sin esta linea de código el programa no correría. Posteriormente fijamos el View que queremos en pantalla, en este caso hacemos la referencia a nuestro archivo main.xml por medio de R.layout(.main); en este caso solo se mostrara el TextView que dice "Hello Word".
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.blogspot.cdgandroid.holamundoandroid" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name"> <activity android:name="MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
- package: Indica el paquete de la aplicación.
- versionCode: Versión interna de la aplicación. Este valor no se refiere a la versión que verán los usuarios.
- versionName: Versión de la aplicación, es la que ven los usuarios finales.
<uses-sdk>: a pesar de su nombre, con esta etiqueta indicamos el nivel de API que usaremos.
- minSdkVersion: Designamos el mínimo nivel de API requerido. En este caso tenemos el nivel 8 que esta asociado a Android 2.2 que fue el target que elegimos a la hora de crear el proyecto, aunque no necesariamente deben ser el mismo.
<application>: Declaramos la aplicación.
- icon: Es el icono que queremos asociar a la aplicación.
- label: Nombre o etiqueta que tendra nuestra aplicación como un todo (Hola Mundo en este ejemplo).
<activity>: Declaramos una actividad que implementa parte de la interfaz de usuario de la aplicación. Podemos tener varias actividades dentro del manifest y toda actividad debe ser declarada ya que si no lo hacemos el sistema nunca las verá y por lo tanto jamas podrán ser ejecutadas.
- name: nombre de la clase que implementa la actividad, subclase de Activity.
- label: etiqueta que tendrá la actividad, en este caso es la misma que la aplicación. El nombre se muestra en pantalla cuando la actividad debe ser representada al usuario.
Nombre de la Activity. |
Nombre de la Aplicación. |
<intent-filter>: Especifica los tipos de intents a los que un activity, service o broadcast receiver pueden responder.
<action>: Añade una acción al intent-filter.
- name: El nombre de la acción. En este caso el valor MAIN sirve como punto de entrada principal
<category>: Añade una categoría al intent-filter y da información adicional sobre la acción a ejecutar.
- name: Nombre de la categoría, en este ejemplo es LAUNCHER, valor que indica que la acción main debe ser listada en el lanzador de aplicaciones.
Creando un AVD. |
Finalmente crearemos una Android Virtual Device(AVD) que es un emulador que nos permite simular dispositivos y ejecutar nuestros programas como si lo hiciéramos en un teléfono real. Para crear una nueva AVD vamos a Window->AVD Manager, damos click en new y nos aparecerá una ventana como la de la izquierda.
Al final obtendremos algo como esto:
Corriendo el Hola mundo en el AVD. |
No hay comentarios:
Publicar un comentario