miércoles, 26 de diciembre de 2012

controles básicos en Android


Este tutorial se preparó para todas aquellas personas que deseen iniciarse en la programación de aplicaciones para dispositivos móviles, en este caso para dispositivos android, cabe aclarar que en esta ocasión será en SO Windows 7 pero el proceso de instalación de los componentes necesarios es muy similar en plataformas Linux.
Que necesitaremos para este ejemplo básico de android:

1-      Descargar Eclipse IDE desde http://www.eclipse.org/downloads/ (recomiendo la versión “eclipse for mobile developers” pero queda a su preferencia J
2-      El SDK de android en este caso descargaremos el de la parte “USE AN EXISTING IDE”.
3-      Luego en la opción Window de eclipse dan clic en la opción “preferences” y buscan el PATH de instalación del SDK que por lo general se encuentra en C:\Users\TUUsuario\AppData\Local\Android\android-sdk.
4-      En la misma opción Window de Eclipse configuramos nuestras versiones del SDK que utilizaremos y también los dispositivos virtuales con las opciones “Android SDK Manager” y “AVD Manager”.
5-      Listo tenemos lo necesario para iniciar el tutorial.

   Utilizando controles básicos aplicación “MiEdad”
   La finalidad como se mencionó al inicio es ejemplificar el uso de algunos controles básicos de android en este caso en una sencilla aplicación para el cálculo de la edad, algoritmo sencillo pero de gran utilidad para nuestro objetivo.
      A-) Iniciaremos creando un nuevo proyecto haciendo clic en File/New/Other y luego seleccionando la opción Android Aplication Project.



      En la siguiente opción seleccionamos el nombre de nuestra aplicación siempre con inicial mayúscula en este caso le llamaremos “MiAge” y seleccionare la API 2.2 de Android. Damos clic en next y luego pasaremos a definir el icono de nuestra aplicacion el cual podemos perfectamente crear uno personalizado, en nuestro caso utilizaremos el que viene por defecto.






      En las siguientes opciones pasaremos a configurar la actividad principal de nuestra aplicación en este caso también le dejaremos el nombre por defecto “MainActivity” pero perfectamente puedes renombrarle con el que desees, si creas nuevas actividades en el proyecto recuerda siempre agregarlas al Android Manifest para que no cause ningún conflicto en la aplicación.





      Listo ya tenemos nuestra aplicación creada, ahora procederemos a demostrar la utilización de los controles básicos de android como el TextView, el EditText y el Button, cabe aclarar que estos controles siempre se colocaran dentro de un Layout o como yo les digo “contenedor” existen diferentes layout el RelativeLayout, LinearLayout, TableLayout entre otros que probablemente mencionaremos en otro post.



      Eliminaremos el TextView que viene por defecto en nuestra aplicación ya sea desde el editor gráfico o desde el editor XML eliminando todo el código entre las etiquetas <TextView></TextView> junto con dichas etiquetas por supuesto, y luego desde la paleta de herramientas agregaremos:
-          2 TextView
-          2 Button
-          2 EditText (hay con características distintas en este caso elegiremos 1 numerico y uno de tipo First Name Last Name)


      Ahora renombraremos los controles esto lo haremos desde el archivo strings.xml que se encuentra en el directorio res/values de nuestro proyecto, es preferible renombrar los componentes desde acá porque las aplicaciones de calidad requieren múltiples lenguajes, de esta manera al guardar los valores tipo string en dicho archivo se volvería mucho más fácil traducir nuestra aplicación a distintos idiomas.



l     En el archivo activity_main.xml colocamos la referencia con @string/valor a cada uno de los controles que deseamos cambiar el nombre luego el aspecto de nuestra vista debería cambiar con los nuevos nombres por cada control modificado.

2   El método onCreate() es invocado cuando la actividad se inicia, allí crearemos los objetos necesarios a partir de las vistas pertenecientes a los controles básicos que utilizamos en este ejemplo, luego en el método sobrecargado OnClick de la clase anónima OnclickListener del método setOnClickListener del objeto perteneciente al botón “calcular” invocaremos el método que llamaremos Edad() que no es mas que un método que devuelve un objeto derivado de la clase AlertDialog que mostraremos mediante el método show() perteneciente al mismo.
La funcionalidad es sencilla simplemente restaremos el año actual (obtenido gracias a la clase Calendar) al año de nacimiento del usuario, pediremos como datos de entrada el nombre, apellido y año de nacimiento, mostrando la edad en una alerta.

A continuacion el codigo que debe ir en la clase MainActivity.java

package com.ejemplo.miage;
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
EditText txt1;
EditText txt2;
Button botoncalc;
int anioactual;
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       txt1=(EditText)findViewById(R.id.editText1);
         txt2=(EditText)findViewById(R.id.editText2);
       botoncalc=(Button)findViewById(R.id.button1);
       botoncalc.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
  
   Edad().show();
}   
       });
    }
 private Dialog Edad()
 {
// anionac=Integer.parseInt(txt2.getText().toString());
// edad= anioactual-anionac;
Calendar fecha= Calendar.getInstance();
 
      anioactual=fecha.get(Calendar.YEAR);
 int anionac=Integer.parseInt(txt2.getText().toString()); 
  int edad= anioactual - anionac;
     AlertDialog.Builder mensaje = new AlertDialog.Builder(this);
      mensaje.setTitle("Estimado "+txt1.getText());
     mensaje.setMessage("Su edad es: "+edad);
    mensaje.setPositiveButton("OK", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {
         // here you can add functions
      dialog.cancel();
      }
    });
    mensaje.setIcon(R.drawable.ic_launcher);
     return mensaje.create();
 }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

3- Ahora procederemos a probar nuestra aplicación en el emulador

4- Y por fortuna hemos finalizado este ejemplo, esperando halla sido de gran ayuda para quienes quieran comenzar a descubrir el mundo del desarrollo de aplicaciones para dispositivos android