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









lunes, 31 de enero de 2011

Programador Vrs. Ingeniero en Sistemas

Bueno el siguiente post se trata de un ensayo de mi curso de Analisis y Diseño 1 , del octavo semestre , de la carrera Ing. en Ciencias y sistemas que bien tiene de titulo como el ya mencionado.


El programador y el Ingeniero de Sistemas , como bien conocidos , son dos areas distintas pero que hoy en dia se tiene muy confundido aca en nuestra sociedad guatemalteca, puesto que aca en guatemala, se hace programador a un Ingeniero en Sistemas, cuando en si, un Ingeniero en Sistemas es mas que un programador, Sin embargo el Ingeniero en Sistemas, especialmente el egresado de la San Carlos, como es propio de la formacion de la carrera, esta atenido a aprender a programar y desarrollar proyectos informaticos y bien es uno de los trabajos por los cuales se inician la gran mayoria de los egresados, cuando bien el Ingeniero en Sistemas, es capaz de mas que solo programar, por lo tanto hay que poner de manifiesto que es lo que realmente es un Programador y un Ingeniero en Sistemas.

Los Programadores son personas con una gran habilidad de resolver problemas mediante el planteamiento de algoritmos que resuelvan dichos problemas de la mejor manera posible. Pero como bien lo entendemos tradicionalmente, un programador, es un programador informatico, el cual tiene conocimientos de informatica o como comunmente se conococe, conocimientos en Lenguajes de Programacion, por ejemplo JAVA, .NET, PHP, ASP, C++, y toda la infinidad de lenguajes de programacion que existen en el mundo de la informatica.
Un programador se clasifican por su nivel de experiencia, por ejemplo existen programadores que se especializan en un solo lenguaje de programacion, siendo asi programadores avanzados, estos dan siempre soluciones, utilizando el lenguaje de programacion de su especialidad, debido a que conocen minuciosamente este lenguaje. Por otro lado estan los programadores medios o normales, les vamos a catalogar, que tambien tienen la habilidad de programar , aun asi no conocen a transfondo todas las potencialidades de todos los lenguajes de Programacion, por tanto , entendemos que un programador, es una persona capaz de resolver problemas , dando una solucion mediante algoritmos y otras herramientas, y saberlas implementar mediante la ayuda de la informatica, utilizando cualquier lenguaje de programacion.

Por otro lado un Ingeniero en Sistemas, es una persona capaz de entender cada una de las situaciones, ya se de negocio o sociales , como un sistema en si, entendiendo cada una de las entidades que la forman y las relaciones que entre ellos existen, planteando de esta manera una solucion a dicho problema. En el caso de un Ingeniero en Sistemas de la USAC, este tiene tambien la gran ventaja que sabe de Informatica, sabe programar, por lo que el planteamiento de las soluciones las puede dar con la ayuda de la informatica, no siendo asi su fuerte la programacion , pero si posee conocimientos y habilidades de programacion, pudiendose comunicar facilmente con algun equipo de trabajo informatico, que por lo general ellos estan a cargo de manejar, el Ingeniero como bien lo dice su Profesion, Ingenia y encuentra soluciones con el uso de su ingenio ante cualquier situacion, siempre con el enfoque sistematico o con la teoria de Sistemas, aunque no precisamente para ser un Ingeniero en Sistemas, se tiene que saber de computacion o informatica, sino que el Ingeniero en Sistemas , plante soluciones siempre con el enfoque de la Teoria de sistemas, "todo es un Sistema".

Este es la manera mas general de hacer como que una pequeña diferencia entre lo que es un Ingeniero de sistemas y un Programador, que bien hoy en dia esta, confuso en nuestra sociedad, Inclusive, por ser estudiante en Ingenieria, a veces creen que puede uno arreglar computadoras, que bien puedo, pero en si no es para eso que estudia uno.
Pero bien, espero que les haya gustado , y pues cualquier critica es bien recibida puesto que esto nos hace mejores cada dia:D