Hola Mundo en Android
Pulsamos en Finish y ya tenemos creado nuestro proyecto.
A continuación vamos a ver algunas de las carpetas y archivos importantes en un proyecto, como vemos aparecen en la parte izquierda de Eclipse:
- src/ejercicios.ejemplo/HolaMundoActivity.java. Pulsamos doble clic sobre el nombre de este archivo. Como vemos aquí irá todo nuestro código Java, la lógica de nuestra aplicación. Tenemos la clase HolaMundoActivity que extiende la clase Activity y se sobreescribe el método onCreate(). Cada pantalla de la aplicación se define mediante un objeto Activity. Podemos tener las Activities que necesitemos.
import android.app.Activity; import android.os.Bundle; public class HolaMundoActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
- res/layout/main.xml. Aquí se definen los componentes de la interfaz gráfica de la aplicación y se especifican todas sus propiedades. Se definen los layouts de la aplicación que son elementos no visibles que determinan cómo se van a distribuir los diferentes componentes de la interfaz gráfica, que veremos más adelante. Además de main.xml en la carpeta res se pueden guardar las interfaces gráficas que sean necesarias para nuestra aplicación.
- res/values/strings.xml. Aquí se definen una serie de cadenas de caracteres que podrán ser llamadas desde nuestra aplicación Java, así evitamos definir variables. En nuestro ejemplo tenemos dos cadenas de caracteres definidas, hello y app_name, que podrán ser referenciadas desde HolaMundoActivity, main, AndroidManifest. Se pueden definir dentro de la carpeta res/values/ los archivos con recursos strings necesarios.
Hello World, HolaMundoActivity! HolaMundo
- AndroidManifest.xml. Aquí definimos la versión de nuestra aplicación, el paquete al que pertenece, la versión mínima de SDK que soporta, un icono (ic_launcher) y el nombre de la aplicación (app_name), los activities que tenemos y los permisos que debe tomar la aplicación. Si nos fijamos en el código, aparece una Activity, HolaMundoActivity, que es la única que tenemos.
- gen/ejercicios.ejemplo/R.java. Este archivo es un índice de todos los recursos del proyecto y un atajo para referirse a estos recursos. Permite localizar de forma rápida e interactiva la referencia específica que estamos buscando. Enlaza lo que hagamos en XML con la programación en Java. No se debe modificar ya que es Eclipse quien se encarga de modificarlo.
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package ejercicios.ejemplo; public final class R { public static final class attr { } public static final class drawable { public static final int ic_launcher=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } }
A continuación vamos a arrancar el emulador de Android para probar nuestro Hola Mundo. El AVD (Android Virtual Device) es una herramienta que nos permite emular en un ordenador el entorno móvil en el cual se ejecutará nuestra aplicación Android. En el momento de instalar el SDK no tendremos ningún emulador, así que tendremos que crearlo. Nos vamos a Window - AVD Manager o bien pulsamos sobre el siguiente botón:
Tenemos la siguiente ventana, en la cual tenemos que pulsar sobre New para crear el nuevo AVD:
Al pulsar sobre New tenemos lo siguiente:
- Name. Aquí pondremos nombre a nuestro dispositivo virtual. Normalmente se le asigna un nombre relacionado con la versión de Android para la que está configurado.
- Target. Esta es la versión de Android que correrá en el dispositivo virtual y deberá ser como mínimo la que se utilice para crear nuestros proyectos. Se pueden crear tantos emuladores como versiones de Android tengamos instaladas en Eclipse.
Estos campos son obligatorios, opcionalmente podemos rellenar:
- SD Card. Donde podremos el tamaño de una tarjeta SD o bien cargar el archivo de una SD existente. Normalmente pondremos el tamaño de la tarjeta SD.
- Skin. Aquí configuramos las características de la pantalla de nuestro dispositivo. Si el monitor del ordenador es grande dejaremos la opción que viene por defecto, si no seleccionaremos la opción HVGA para adaptar el emulador al tamaño de la pantalla que tenemos.
El apartado de Hardware nos permite agregar características de hardware específicas del dispositivo como acelerómetro, cámara, teclado físico, etc.
Personalmente voy a crear un emulador con las siguientes características:
Pulsamos sobre Create AVD y en la ventana del AVD Manager seleccionamos el emulador y pulsamos sobre el botón Start..., en la ventana que sale pulsamos sobre el botón Launch y ahora ya podemos probar nuestro programa en el emulador.
Para probar una aplicación la seleccionamos y bien pulsamos con el botón derecho del ratón sobre el nombre del proyecto y seleccionamos la opción Run as - Android Application o bien nos vamos al menú Run - Android Application. Y voilá, aquí tenemos ejecutándose a nuestro "Hola mundo".
Cómo probar nuestro programa en el móvil
Primero tendremos que modificar el AndroidManifest.xml y añadir lo siguiente:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:debuggable="true">
Debemos asegurarnos de desactivar esta opción cuando publicamos la aplicación en Google Play. Ahora nos vamos a nuestro dispositivo y entramos en Ajustes - Aplicaciones - Desarrollo, (si tenemos Android 4.0 nos tenemos que ir a Ajustes - Opciones de desarrollador) y activamos la opción Depuración de USB.
Configura el sistema para detectar el dispositivo:
- En Windows necesitamos instalar un controlador USB para adb. En esta web puedes ver el modo de instalación según la versión de Windows que tengas y los controladores para los diferentes modelos de smartphones.
- Si estamos desarrollando para Mac OS X, funciona sin hacer nada.
- Si utilizamos Ubuntu Linux, necesitamos añadir un archivo de reglas udev que contenga la configuración USB para cada tipo de dispositivo que queramos utilizar para probar las aplicaciones. En este archivo, cada fabricante de dispositivos se identifica con un identificador único ID, puedes encontrar una lista de identificadores para los diferentes proveedores aquí . Para establecer la detección de dispositivo haremos lo siguiente:
1. Inicia la sesión como root y crea este archivo /etc/udev/rules.d/51-android.rules. Utiliza este formato para añadir la información de cada proveedor:
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
Este ejemplo sería para un móvil modelo Samsung, lo vemos en el campo ATTR, la asignación de MODE especifica los permisos de lectura/escritura y GROUP define a qué grupo pertenece el nodo del dispositivo.
(La sintaxis de las reglas puede variar dependiendo del entorno, para saber más sobre la escritura de reglas para archivos udev visita la dirección http://www.reactivated.net/writing_udev_rules.html).
2. Ahora en un terminal ejecutamos la orden: chmod a+r /etc/udev/rules.d/51-android.rules
Cuando conectemos el dispositivo al ordenador, podemos verificar que el dispositivo está conectado ejecutando adb devices desde el directorio SDK platform-tools. Si está conectado, verás el nombre del dispositivo en la lista de dispositivos.
Si utilizamos Eclipse, ejecutaremos la aplicación como siempre. Se nos abrirá una ventana en la que podremos seleccionar entre el emulador y los dispositivos conectados para probar la aplicación. Seleccionamos nuestro dispositivo:
Y así instalaremos y ejecutaremos la aplicación en nuestro móvil.
Si utilizamos Android Debug Bridge (adb), podemos emitir comandos con la opción -d para apuntar al dispositivo conectado.
A partir de este artículo ya tenemos todo preparado para programar y probar nuestras aplicaciones Android.
Reader Comments (2)
Muy bien, por favor continua escribiendo estos útiles articulos
Muy buen post, una explicaciòn detallada y minuciosa, ademàs de ser veridica, gusto encontrar informaciòn asì, puedo recomendar este curso de android es muy profesional