Programación en ANDROID 2015

download Programación en ANDROID 2015

of 45

description

manual de inicio en android

Transcript of Programación en ANDROID 2015

Programacin en ANDROID 20151 - Instalacin de AndroidYa se encuentra disponible el nuevo tutorial para aprender android con el nuevo entornoAndroid Studio propuesto por Google y que remplaza a Eclipse.

Descarga de herramientas necesarios para programar para Android.

1 - Primero debemos instalar el compilador de Java y la mquina virtual. Estas herramientas las podemos descargar de:Java SE Development Kit (JDK).2 - El segundo paso es la descarga del ADT (que contiene todo lo necesario para comenzar el desarrollo de aplicaciones en Android), lo hacemos del sitio (descargar el de 32 o 64 bit segn el JDK de Java que ya tenemos instalado del paso anterior):Android SDK.3 - El tercer paso es descomprimir el ADT, por ejemplo en la raiz de c:4 - El cuarto paso es ejecutar el Eclipse:Nos dirigimos a la carpetas creadas cuando descomprimimos el ADT y vemos que tenemos dos carpetas: eclipse sdkEntramos a la carpeta eclipse y ejecutamos eclipse.exeDebe aparecer una ventana de inicio similar a esta:

Nos pide seguidamente la carpeta donde deseamos ir almacenando los proyectos que desarrollemos:

Ahora ya estamos en el entorno que tiene una vista similar a esta (recordemos que es el Eclipse con algunos cambios desarrollados por Google), la primera vez que ingresamos nos aparece una pantalla de bienvenida pero podemos cerrarla haciendo clic en la cruz de la pestaa y ya tenemos el entorno de trabajo:

7 - Por ltimo debemos crear el AVD (Android Virtual Device) para ello nos dirigimos a la opcin Window -> Android Virtual Device Manager.En este dilogo debemos crear el emulador de Android (presionamos el botn New...):

En este dilogo asignamos un nombre a nuestro AVD, elegimos un dispositivo (que no sea tan grande ya que no entrara en pantalla, podemos probar con WVGA(480,800)), lo enlazamos con la versin de SDK respectivo, fijamos un tamao al SD Card:

Ya tenemos todo configurado para el desarrollo de aplicaciones Android.

2 - Pasos para crear el primer proyecto Android.Ya se encuentra disponible el nuevo tutorial para aprender android con el nuevo entornoAndroid Studio propuesto por Google y que remplaza a Eclipse.

Ya tenemos todo lo necesario instalado para implementar el primer proyecto. Desde el men de opciones: File -> New -> Android Application Project

En este dilogo especificamos el nombre de la aplicacin y proyecto (pueden ser iguales) y el nombre del paquete java donde se almacenarn los archivos java que creemos (normalmente la url de su empresa al revs).Ahora empezaremos a presionar el botn next para pasar a otras configuraciones de nuestra aplicacin, por el momento dejaremos todos los valores por defecto en cada una de los dilogos que aparece (son 5 dilogos actualmente), en el ltimo dilogo debe aparecer el botn "Finish" el cual presionamos.El ADT nos genera todos los directorios y archivos bsicos para iniciar nuestro proyecto:

No haremos en este momento un anlisis del significado y objetivo de cada uno de estos directorios y archivos generados, sino a medida que avancemos con este curso iremos viendo en forma puntual y profunda.La interfaz visual de nuestro programa para Android se almacena en un archivo XML en la carpeta res, subcarpeta layout y el archivo se llama activity_main.xml. En esta carpeta tenemos creada nuestra primer pantalla.Al seleccionar este archivo el ADT nos permite visualizar el contenido en "vista de diseo (Graphical Layout)":

Si seleccionamos la otra pestaa podemos visualizar el archivo activity_main.xml en formato de texto:

El ADT ya insert un control de tipo RelativeLayout que permite ingresar controles visuales alineados a los bordes y a otros controles que haya en la ventana (ms adelante analizaremos este layout)Ya veremos que podemos modificar todo este archivo para que se adapte a la aplicacin que queremos desarrollar.Luego contenido en el control RelativeLayout hay otro control de tipo TextView que es bsicamente una etiqueta o label que mostrar en pantalla el valor almacenado en la propiedad text.Podemos modificar directamente el archivo xml o en "vista de diseo" modificar los valores de las propiedades. Elegimos nuevamente la pestaa "Graphical Layout" y seleccionamos el TextView con el mouse y vemos que en la parte derecha de la pantalla aparece una ventana llamada "properties":

Y estando seleccionado el TextView buscamos la propiedad Text y cargamos: "Mi primer programa para Android" y presionamos enter, podemos ver que se actualiza la vista:

Con esto ya podemos probar nuestra primer aplicacin para un dispositivo Android. SELECCIONAMOS con el mouse en la ventana de la izquierda (Package Explorer) el proyecto001 y presionamos el cono de Run (tringulo verde) o desde el men. Seleccionamos que se ejecute como aplicacin "Android Application". Ahora se abrir el AVD(Android Virtual Device) esto tarda bastante tiempo, es muy importante recordar que luego de ver ejecutndose el programa NO debemos cerrar el AVD para que la prxima ejecucin se inicie ms rpido (podemos minimizar el AVD)Ahora podemos ver nuestra primer aplicacin corriendo en el emulador de Android:

Como hemos visto el ADT nos genera en forma automtica todas las carpetas y archivos bsicos que necesitamos en un principio. En el siguiente concepto podremos empezar a programar verdaderamente. El nico objetivo de este ejercicio es recordar los pasos para crear un proyecto.Este proyecto lo puede descargar en un zip desde este enlace:proyecto001.zipProblemas con la ltima versin del entorno de desarrollo de Android ADTSi cuando crea un proyecto para Android se encuentra que en la carpeta layout se crean dos archivos XML en lugar de uno, es que tiene la ltimo versin y este tutorial todava no est adaptado:

Con esta versin del ADT Google propone utilizar Fragment aunque realicemos un programa "Hola Mundo", hasta que se actualice este tutorial podemos realizar estos pasos para trabajar sin Fragment en los ejercicios iniciales.Veamos entonces que pasos debemos dar para dejar el proyecto que se adapte a todos los ejercicios propuestos en esta web y dems libros que se hayan publicado hasta marzo de 2014:Pasos1. Borrar el archivo activty_main.xml de la carpeta layout de nuestro proyecto (presionamos el botn derecho del mouse sobre el archivo y seleccionamos Delete:

2. Renombramos el archivo fragment_main.xml por el el nombre activity_main.xml presionando el botn derecho del mouse y seleccionando la opcin Refactor - > Rename y cargamos en dicho dialogo activity_main.xml (por ms que nos muestre un mensaje de warning lo ejecutamos al cambio):

3. Ahora nos dirigimos a la carpeta src y entramos al paquete donde se encuentra el archivo MainActivity.java (en este momento nos est mostrando un mensaje de error que lo solucionaremos)

4. Ahora borramos la clase PlaceholderFragment:

Y las cinco lneas que crean el objeto de la clase PlaceholderFragment:

Es decir que nuestro archivo MainActivity queda con la siguiente estructura(como vemos cuando lo grabamos ahora desaparecen los errores y podemos ejecutar nuestro programa):

3 - Captura del clic de un botnYa se encuentra disponible el nuevo tutorial para aprender android con el nuevo entornoAndroid Studio propuesto por Google y que remplaza a Eclipse.

Problema:Realizar la carga de dos nmeros en controles de tipo EditText. Mostrar un mensaje que solicite la carga de los valores. Disponer un Button para sumar los dos valores ingresados. Mostrar el resultado en un tercer TextView.La interfaz visual debe quedar algo semejante a esto:

Veamos paso a paso como creamos la interfaz visual de nuestro programa. Primero borramos el TextView que aparece por defecto cuando se crea un proyecto con el ADT. Ahora desde la ventana "Palette" seleccionamos de la pestaa "Form Widgets" el control "TextView" y lo arrastramos a la ventana de diseo de nuestra interfaz:

Ahora lo seleccionamos y en la ventana de propiedades especificamos la propiedad text (como habamos visto anteriormente) disponemos el texto "Ingrese el primer valor:":

Tambin vamos a especificar la propiedad "Id", la misma aparece primera en la paleta de propiedades y le asignaremos el valor @+id/tv1 (el nombre es el que se indica luego de la barra es decir cambiamos textView1 por tv1) Cuidado de no borrar @+id/

Hemos entonces asignado como nombre a este objeto: tv1 (recordemos que se trata de un objeto de la clase TextView)Ahora de la paleta de componentes seleccionamos la pestaa "Text Fields" y arrastramos el primero (el que tiene la etiqueta abc)

En la ventana de properties estando seleccionado el EditText configuramos la propiedad Id... con el nombre et1 (este nombre haremos referencia posteriormente desde Java)Efectuamos los mismos pasos para crear el segundo TextView y EditText (inicializamos las propiedades respectivas) Definimos los id con los nombres tv2 y et2, el resultado visual debe ser algo semejante a esto:

De la pestaa "Form Widgets" arrastramos un control de tipo "Button":

Inicializamos la propiedad text con el texto "Sumar" y la propiedad id la dejamos con el valor ya creado llamado "button1".Para terminar con nuestra interfaz visual arrastramos un tercer objeto de tipo TextView y definimos la propiedad id con el valor "tv3" y la propiedad text con el texto "resultado", recordemos que la interfaz final debe ser semejante a esta:

Si en este momento ejecutamos la aplicacin aparece la interfaz visual correctamente pero cuando presionemos el botn no mostrar la suma.Es fundamental una vez finalizada la interfaz visual proceder a grabarla (icono de los diskettes) o la opcin File->Save para que se actualicen los archivos que se generan automticamente.Hasta ahora hemos trabajado solo con el archivo xml (activity_main.xml) donde se definen los controles visuales de la ventana que estamos creando.Abrimos seguidamente el archivo MainActivity.java que lo podemos ubicar en la carpeta src:

La clase MainActivity hereda de la clase Activity. La clase Activity representa una ventana de Android y tiene todos los mtodos necesarios para crear y mostrar los objetos que hemos dispuesto en el archivo xml.El cdigo fuente de la clase MainActivity.java es:package com.javaya.proyecto002;

import android.os.Bundle;import android.app.Activity;import android.view.Menu;

public class MainActivity extends Activity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }

@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }Como mnimo se debe sobrescribir el mtodo onCreate heredado de la clase Activity donde procedemos a llamar la mtodo setContentView pasando como referencia una valor almacenado en una constante llamada activity_main contenida en una clase llamada layout que a su vez la contiene una clase llamada R (veremos ms adelante que el ADT se encarga de crear la clase R en forma automtica y sirve como puente entre el archivo xml y nuestra clase MainActivity)Luego veremos el otro mtodo onCreateOptionsMenu.Captura de eventos.Ahora viene la parte donde definimos variables en java donde almacenamos las referencias a los objetos definidos en el archivo XML.Definimos tres variables, dos de tipo EditText y finalmente una de tipo TextView (estas dos clases se declaran en el paquete android.widget, es necesario importar dichas clases para poder definir las variables de dichas clases):package com.javaya.proyecto002;

import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.widget.EditText;import android.widget.TextView;

public class MainActivity extends Activity {

private EditText et1,et2; private TextView tv3;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }

@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }La forma ms fcil de importar las clases EditText y TextView es tipear las dos lneas: private EditText et1,et2; private TextView tv3;y luego presionar las teclas Control-Shift-OEsto hace que se escriban automticamente los dos import:import android.widget.EditText;import android.widget.TextView;Los nombres que le d a los objetos en este caso coinciden con la propiedad id (no es obligatorio):

private EditText et1,et2; private TextView tv3;No definimos TextView para los dos mensajes "Ingrese el primer valor" e "Ingrese el segundo valor" ya que no necesitaremos interactuar con ellos. Tambin veremos que el objeto de la clase Button no es necesario definir un atributo sino que desde el archivo XML inicializaremos la propiedad OnClick.En el mtodo onCreate debemos enlazar estas variables con los objetos definidos en el archivo XML, esto se hace llamando al mtodo findViewById: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); et1=(EditText)findViewById(R.id.et1); et2=(EditText)findViewById(R.id.et2); tv3=(TextView)findViewById(R.id.tv3); }Al mtodo findViewById debemos pasar la constante creada en la clase R (recordemos que se crea automticamente esta clase) el nombre de la constante si debe ser igual con el nombre de la propiedad del objeto creado en el archivo XML. Como la clase findViewById retorna una clase de tipo View luego debemos utilizar el operador cast (es decir le antecedemos entre parntesis el nombre de la clase)Ya tenemos almacenados en las variables las referencias a los tres objetos que se crean al llamar al mtodo:setContentView(R.layout.main); .Ahora planteamos el mtodo que se ejecutar cuando se presione el botn (el mtodo debe recibir como parmetro un objeto de la clase View) En nuestro ejemplo lo llam sumar:package com.javaya.proyecto002;

import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.EditText;import android.widget.TextView;

public class MainActivity extends Activity {

private EditText et1,et2; private TextView tv3;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et1=(EditText)findViewById(R.id.et1); et2=(EditText)findViewById(R.id.et2); tv3=(TextView)findViewById(R.id.tv3); }

@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } //Este mtodo se ejecutar cuando se presione el botn public void sumar(View view) { } }Debemos importar lar clase View (Control-Shift-O)Ahora debemos ir al archivo XML e inicializar la propiedad OnClick del objeto button1 con el nombre del mtodo que acabamos de crear (este paso es fundamental para que el objeto de la clase Button pueda llamar al mtodo sumar que acabamos de crear):

Finalmente implementaremos la lgica para sumar los dos valores ingresados en los controles EditText: public void sumar(View view) { String valor1=et1.getText().toString(); String valor2=et2.getText().toString(); int nro1=Integer.parseInt(valor1); int nro2=Integer.parseInt(valor2); int suma=nro1+nro2; String resu=String.valueOf(suma); tv3.setText(resu); }Extraemos el texto de los dos controles de tipo EditText y los almacenamos en dos variables locales de tipo String. Convertimos los String a tipo entero, los sumamos y el resultado lo enviamos al TextView donde se muestra la suma (previo a convertir la suma a String)La clase completa queda entonces como:package com.javaya.proyecto002;

import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.EditText;import android.widget.TextView;

public class MainActivity extends Activity {

private EditText et1,et2; private TextView tv3;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et1=(EditText)findViewById(R.id.et1); et2=(EditText)findViewById(R.id.et2); tv3=(TextView)findViewById(R.id.tv3); }

@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } //Este mtodo se ejecutar cuando se presione el botn public void sumar(View view) { String valor1=et1.getText().toString(); String valor2=et2.getText().toString(); int nro1=Integer.parseInt(valor1); int nro2=Integer.parseInt(valor2); int suma=nro1+nro2; String resu=String.valueOf(suma); tv3.setText(resu); } }Si ejecutamos nuestro programa podemos ver ahora que luego de cargar dos valores al presionar el botn aparece en el tercer TextView el resultado de la suma de los dos EditText:

Este proyecto lo puede descargar en un zip desde este enlace:proyecto002.zip