sábado, 4 de junio de 2011

EJEMPLO SENCILLO ANDROID UBUNTU 10.4

Este siguiente post consiste en una explicacion breve de como poder tomar el texto de un EditText y ponerlo en un TextView al presionar un boton y posteriormente ver los procesos del sistema que se estan ejecutando dentro de un emulador de un android SDK 3.1 API LEVEL 12
Estamos utilizando eclipse con estas especificaciones:

Eclipse IDE for Java Developers

Version: 1.3.2.20110301-1807
Build id: 20110218-0911

(c) Copyright Eclipse contributors and others 2000, 2011. All rights reserved.
Visit http://www.eclipse.org/platform All rights reserved.


Version de JDK java
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (6b20-1.9.7-0ubuntu1~10.04.1)
OpenJDK Server VM (build 19.0-b09, mixed mode)


Android SDK_linux_x86


Sobre un Ubuntu 10.4


COMENZANDO:
De primera Instancia Para Iniciar El Proyecto File->Proyect->
Other

Nos desplegara un menu nuevo :
en el cual seleccionaremos proyecto.
El proyecto que seleccionamos es como bien se ve
en la imagen un AndroidProject Luego de eso presionamos Next.







Luego nos pedirá:
  • los datos del project name.
  • El BuildTarget (que es la maquina de Android).Seleccionamos Android 3.1
  • Aplication name. (igual que el project name)
  • Package name.(el nombre del package tiene que se "com.nombreprojectname"
  • createActivity(el mismo nombre que project name)
  • Min SDK (Aca ponemos el numero del Api Level arriba en el build tarjet)




Luego presionamos Next y posteriormente Finish.

Este nos creara todos los documentos relacionados a nuestro proyecto.
para poder agregar lo que son Widget a nuestra aplicacion nos vamos a la carpeta de
res->layout->main.xml
Este archivo xml nos muestra lo que es las especificaciones dentro de nuestro widget y genera con ellos un id para cada uno que se replican en el archivo. R.java.

CAda uno de los widgets que agregamos desde el main.xml los llamamos desde nuestra aplicacion java.

un ejemplo sencillo de un main.xml seria como el siguiente.

Desde nuestro archivo.java
Podemos invocar lo que son los botones declarandolos
en el archivo java tendremos que realizar algo como lo mostrado en el siguiente.

El metodo "onCreate" este es como que el constructor asi conocido en java de este objeto, el caso de este que se inicializa
Para obtener la referencia a cada uno de los objetos que tenemos dentro de nuestro main.xml
por ejemplo

view=(TextView)findViewById(R.id.textView1);
Boton=(Button)findViewById(R.id.button1);
Anteriormente a esto los tenmos declarados como objetos.

public TextView view;
public EditText Editable;
public Button Boton;
y como bien se ve en el archivo main.xml del layout este

Ahora bien para obtener los procesos necesitamos lo que son estas 2 librerías.

import android.app.ActivityManager;
import android.app.ActivityManager.RunningAppProcessInfo;

El codigo para obtener la información de los procesos vamos y ejecutamos el siguiente código

//Utilizo la clase para llamar los datos solicitados
ActivityManager MyAM = (ActivityManager)this.getSystemService( ACTIVITY_SERVICE );
ActivityManager.MemoryInfo MemInfo = new ActivityManager.MemoryInfo ();
MyAM.getMemoryInfo( MemInfo );
//En una Lista almaceno los procesos activos
ArrayList losprocesos = (ArrayList) MyAM.getRunningAppProcesses();
//Obtengo el numero total de procesos activos
int TamanhioL = losprocesos.size();
NumProcesos.setText("Numero de Procesos"+String.valueOf(TamanhioL));
El Array List es una libreria de java.util de las que utilizamos en java.
Esta nos servira para obtener todos los procesos y pues para hallar el numero de proceso corriendo
solamente le damos un size al ArrayList y lo desplegamos en un TextView como lo podemos ver.




Definimos dentro de nuestro xml layaout de tipo Table Layout para desplegar la informacion de una manera ordenada. donde nuestro xml queda como el de a continuacion, aparte que le agregamos un
ScrollView como contenedro de todos puesto que cuando se despliegan los proceso son mas delos soportados por la pantalla y nuestro xml queda como a contiuacion.






Añadir imagen



Posteriormente pues para ingresar cada uno de los proceso pues crearemos un TableRow por cada uno de los proceso y los agregaremos al layout de la tabla llamado Datos Procesos

for(int i = 0; i < TamanhioL; i++){
Fila = new TableRow(this);//FILA-N-
//ID DEL PROCESO
ProcID = new TextView(this);
ProcID.setText(Integer.toString(losprocesos.get(i).pid));

ProcID.setLayoutParams(new TableRow.LayoutParams(0));
ProcID.setGravity(0x01);
Fila.addView(ProcID);
//NOMBRE DEL PROCESO
ProcName = new TextView(this);
ProcName.setText(losprocesos.get(i).processName);
ProcName.setGravity(0x01);
ProcName.setLayoutParams(new TableRow.LayoutParams(3));
Fila.addView(ProcName);
//AGREGO LA FILA A MI TABLA
DatosProcesos.addView(Fila, new TableLayout.LayoutParams());
}
Y posteriormente le damos run a nuestra aplicacion