Aportación Java México - PCJ - Programación de celulares con Android

INTRODUCCIÓN

El campo de batalla ha cambiado. El computo ahora es más personal. Con estas dos oraciones empieza un libro sobre la nuevísima plataforma Andorid dirigida, sobre todo, a la programación de celulares. Y es precisamente estas dos frases las que me llamaron la atención y me animaron a empezar a estudiar Android.

El incremento en el número de celulares ha hecho que grandes compañías dirijan sus esfuerzos a la programación de celulares y de otros dispositivos móviles. La gente común y corriente probablemente sólo se concentre en disfrutar sobre los beneficios de tener un celular, pero los que somos programadores no podemos ignorar este cambio tecnológico, y es imprescindible el estudio de este software.

En este artículo voy a hablar de lo que es el Android y los beneficios que conlleva su uso. En las siguientes contribuciones voy a dar una descripción de cómo instalarlo y ejecutar aplicaciones. Con esto espero que las colaboraciones y observaciones que se hagan aquí nos ayuden a entender más, la programación de celulares.

ANDROID

La primera descripción que se debe de tener de Android, es que Android está formado en la parte más baja por Linux, el cual se va a encargar del manejo de drivers. En la siguiente capa viene una serie de librerías escritas en C o C++. Tales librerías (librerías nativas) están dirigidas al manejo de base de datos, de graficas, de la web, de música y de video.

En el siguiente nivel, que es la parte de arriba, ¿Adivinen a quién tenemos? Efectivamente, en la parte de arriba está JAVA. En este nivel se encuentran algunas librerías de Java que incluyen por ejemplo telefonía, animación y bases de datos.

Además, las aplicaciones que se hacen para programar un dispositivo móvil en Android, se escriben en Java. Aunque no se usa la máquina virtual de Java para ejecutarlas, igual, sigue siendo el lenguaje de programación Java, con toda su sintaxis, el que se está usando para hacer dicho trabajo.

ALGO DE HISTORIA

Con la aparición de los celulares se da también la creación de diferentes sistemas operativos para programarlos ( Por cierto el paralelismo con los primeros días de las microcomputadoras es increíble. Se habla incluso de los celulares como la siguiente PC) sin existir propiamente ningún estándar para dicho software.

Aquí es donde Google hace su aparición. En 2005, Google adquiere la compañía Android. Para desarrollar la plataforma Android. Más adelante en 2007 se reúne con algunos líderes en la industria telefónica de celulares, con lo cuales se llega a un acuerdo en el desarrollo de un software común para crear aplicaciones en dispositivos móviles y el uso de la plataforma Android como medio para lograrlo.
Entre las principales miembros impulsores de Android están:

Google
Motorola
Samsung
Sony
Toshiba
Intel
Texas Instrument.

Android se crea como código abierto con licencia de Apache.

DALVIK VM

Google trabajó bastante en optimizar diseños bajo las restricciones que imponen los celulares. Dichas restricciones son principalmente en el RAM y en el poder de computo que tienen. El resultado de esta optimización fue la Dalvik Virtual Machine (DVM).

Aunque la programación de dispositivos móviles es en Java, Android no usa la JVM Java Virtual Machine). En su lugar se usa la DVM. La Dalvik VM es el resultado de una revisión exhaustiva de la JVM. El resultado que se espera de esta optimización es que se van a usar un 30% menos instrucciones que con la JVM.

COMPARACIÓN ENTRE Java ME y Adroid

La diferencia esencial es que Java ME ofrece diferentes soluciones a diferente modelos de dispositivos móviles. Android ofrece sólo un modelo e ignora a los dispositivos de bajos niveles de procesamiento. Esto hace menos complejo el uso de Android y más fácil de entender que el Java ME.

Hay mucho soporte técnico para Java ME, pero la uniformidad, el costo y la facilidad de uso de Android son suficientes razones para considerarlo como una muy buena opción en la programación de dispositivos móviles.

Cada una de las parte mencionadas arriba se puede tratar con mucha mayor amplitud. En la siguiente entrega hablaré de la instalación y de una primera aplicación correspondiente a “Hello World”

Bibliografía:

Pro Android 2. Sayed Hashimi, Dave McLean

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

PCJ

Excelente introducción a Android, espero que veamos más contenido al respecto en el sitio, y no sólo de tu parte.

Imagen de Jhanno

Ganador Lugar PCJ

Queremos anunciarte que eres uno de los seleccionados para ser alumno en PCJ. Felicidades.

Imagen de mathemathician

Agradecimiento

Quiero agradecerles por este reconocimiento. Pero más que nada creo que este certamen ha sido una gran idea ya que nos ha hecho colaborar más con esta página. Me he dado cuenta de la gran participación que ha tenido mucha gente, ojalá y se repitan este tipo de concursos. Gracias nuevamente.

+1 ... por el artículo. Si

+1 ... por el artículo. Si tan solo Google hubiera comprado a Sun... pero definitivamente no le convenía a ninguno.

En Java 7 ( se rumora ) el JVM va a cambiar para incluir nuevos esquemas de manejo del los .class y por lo que oí y los .jars y varias cosas más. No lo dijeron abiertamente pero a mi me late que van a tomar algo de Dalvik, aunque como siempre, puede que no pase nada.

Aquí esta el link a esa platica: ( El streaming the parleys apesta ,les recomiendo que descarguen el reproductor - que corre en AIR por cierto - y descarguen el video ). A parte de estos cambios , se habla de los nuevos sintaxis para literales de lista, set y mapas

 

Y de los closures ( a ver si es cierto que ya los ponen)

Imagen de fcodiaz

Muy paracida a JSON xP

List list = [1,2,3];
Map m = {"name":"Oscar"} ,
Set s = {1};

:o la Sintaxy muy parecida a JS.. el list es como la declaración de un Array y el map de un JSON, ya le empezaron a copiar a mi querido JavaScript xP.... bueno la diferencia es que como Java es tipado ps a la de... tememos que meter el tipo de clase antes de declarar el Objetoo/dato, una de las cosa buenas y feas a la vez de Java...,

por cierto @mathemathician y @OscarRyz hechele ganas al PCJ T_T... por aca nos quedamos con las ganas.. esperemos que alla otra oportunidad, yo estaba dispuesto a no comer para tener para los pasajes de ida y vuelta los 10 fines (soy de León Gto), bueno seguire de autodidacta sin profes xP.. como un buenos libros, tutos y javac de amigos!....

P.D. Chin! si no se certifican xP...!