miércoles, 2 de febrero de 2011

Android Honeycomb preview Liberado (How To)

Algunos de ustedes ya sabrán que la vista previa de Android Honeycomb (3.0) la nueva versión de android ya ha sido liberada para los desarrolladores. Este nuevo sistema esta optimizado para tablets y se ve genial (ver vídeos previos android honeycomb), esta optimizado para resoluciones de pantalla grandes, para procesadores de doble núcleo y gráficos 3D, entre otras (si qieren ver mas detalles vean los hilights del sistema). Yo lo baje y lo probé por algunas horas y la verdad es que se ve increíble; la interfaz es única, el explorador y las aplicaciones por defecto fueron cambiadas y optimizadas para el tamaño de la pantalla y las capacidades multitasking del sistema. Para instalar el previo es muy sencillo y lo puedes conseguir en cuestión de minutos, a continuación les diré como.Primero tienen que tener instalado el androidSDK en su computadora, todo parte de ahí. Si no lo tienen pueden ir a la siguiente pagina y descargarlo.
Una vez que tengan el SDK abrimos el Android SDK Manager que se encuentra dentro del directorio de instalación del SDK.
Una vez que este instalado vamos a la sección de available packages -
> android repository y
podremos encontrar SDK Android Platform Honeycomb Preview, Revision 1.
Lo seleccionamos y le damos instalar, va a descargar los paquetes y dejar el previo disponible para crear un nuevo dispositivo virtual
en nuestro emulador. Si no han creado un nuevo dispositivo android emulado antes pueden seguir el siguiente tutorial, o buscar dentro del avd manager como crearlo, es muy sencillo.

Nota: si ya tenían instalado anteriormente el SDK y solo están agregando el previo de Honeycomb es probable que cuando descarguen el paquete les arroje un error al momento de instalarlo. Esto es debido a que existe una nueva versión de las android tools y es necesario actualizarlas, mas sin embargo el manager trata de mover el directorio "platform-tools" a un respaldo y sale un error. Esto es por que muy probablemente el server de adb esta corriendo y no permite que el directorio se renombre, para corregirlo solo es necesario terminar el proceso de adb y renombrar la carpeta manualmente.

A continuación les dejo unas imágenes de como se ve un emulador android corriendo el nuevo honeycomb. La verdad es que el emulador si es bastante pesado y necesitan buen churro en su maquina para que corra bien, en mi computadora del trabajo se ve bastante lento, pero en mi casa que tengo una dual core a 2.6 se ve bastante decente.









martes, 1 de febrero de 2011

Tecnologías Viejas

Una muestra de lo rápido que evoluciona la tecnología. A alguno de ustedes les toco jugar con algunos de los dispositivos que se muestran en el vídeo?

martes, 25 de enero de 2011

La Cuenta

La cuenta es una aplicación de android que desarrolle para dividir la cuenta del restaurante entre las distintas personas que acuden a comer, solo es necesario especificar el monto de la cuenta, el porcentaje de propina que deseas dejar y el numero de personas que asistieron. Con esto la aplicación te dirá exactamente cuanto dinero tiene que poner cada persona para pagar la cuenta de la comida. La desarrolle rápidamente como "training" pero espero poder incrementar su funcionalidad aun mas en el tiempo libre que pueda ir teniendo.
Cualquier duda o comentario pueden escribirme un correo a ti3r.bubblenet@gmail.com o dejar un comentario en el post.

Actualmente la aplicación se encuentra publicada en Shop4Apps de motorola pero si desean el paquete apk, pueden escribirme y con mucho gusto se los envío.
Espero y el programa les sea de utilidad.

lunes, 24 de enero de 2011

Android en el Espacio

Les dejo un link a lo nuevo que se esta probando con los dispositivos Android. Imaginen poder programar algo para un satelite.
Saludos
Mobile Phones Blast into space

domingo, 23 de enero de 2011

El nuevo Android

Ya hemos visto como ha evolucionado el sistema android en estos últimos años, con la llegada del Nexus S y Gingerbread el sistema cada vez se hace mas maduro, estable, compatible con mas dispositivos y mas emocionante de usar. Yo pase mas de 5 años con el mismo teléfono celular y he seguido al sistema desde hace ya tiempo, en este ultimo año he cambiado mas de 3 veces de móvil por lo rápido que esta plataforma evoluciona. Ahora les quiero compartir algunos videos que me emocionan acerca de el nuevo android y como va incursionando cada vez mas en el mercado de las tablets, con nuevos dispositivos y nuevo sistema (Honeycumb. Espero y les guste.

http://www.youtube.com/watch?v=20Lct9CKtL8


miércoles, 19 de enero de 2011

Localizar Recursos por Nombre en Android

Ya hemos visto varias veces como retraer recursos para una aplicación Android, ya sea un archivo de layout, un estilo, textos, etc. Si aun no sabes como retraer recursos en android te recomiendo que leas este articulo dentro de la documentación de android (http://developer.android.com/guide/topics/resources/index.html); básicamente lo que el
sistema hace es asignar un identificador (un numero entero [int]) y un nombre dentro de un
paquete a los recursos que declaramos en nuestra aplicación por el cual pueden ser referenciados en el código o en otros archivos android. Lo que generalmente vemos en una aplicación es algo como esto:
En esta imagen podemos ver como declaramos un TextView en nuestro archivo de layout y hacemos referencia a un recurso string que se llama hello (los recursos se identifican
"@tipo/nombre"), también en ciertas ocasiones es necesario retraer un recurso en código; y esto es logrado de varias maneras:
la mas sencilla es retraer un String desde un contexto, si queremos hacerlo desde una actividad se hace una llamada al método getString(int) donde int es el identificador del recurso, todos los identificadores son registrados y compilados en la clase especial R de android (puedes ver la siguiente pagina para ver la descripción de R).
También es posible retraer un objeto de recursos (android.conte
nt.res.Resources) desde el contexto (ya sea de la actividad o desde la aplicación), en la imagen siguiente se muestra un objeto de recursos que es retraído desde la actividad, desd
e el contexto y desde el contexto de aplicación. En la imagen también se muestra como retraer un String desde los recursos pero se pueden localizar cualquier tipo de recursos con distintos métodos de esta clase y con el id del recurso (puedes ver una descripción en la siguiente pagina).
Lo que les quiero mostrar el día de hoy, es que en ocasiones es necesario localizar un recurso dinamicamente, por ejemplo necesitas cargar un numero determinado de descripciones de configuración (esto fue lo que me paso recientemente), las descripciones de configuración están
guardadas en recursos string ya que es necesario cargar sus descripciones dependiendo del lenguaje de la aplicación y están distinguidas por medio de un Id, por lo tanto cree un método que dado un objeto de recursos y una lista de identificadores de descripciones buscara el texto y lo regresara a la función padre para ser cargada por la aplicación, y el código me quedo mas o menos así:
voy a tratar de explicar lo que intente hacer en este código,
De las lineas 24 a 26 declare un HashMap donde guardare los resultados de las consultas e inicie un ciclo para recorrer todos los ids que fueron pasados a la función. Luego (en la linea 27) cree un string el cual representara el nombre del recurso que quiero retraer, en este caso yo se que todos las descripciones están identificadas de la siguiente manera: sett_description_, por ejemplo sett_description_0 para la primera descripción, luego sett_description_1 y así sucesivamente, lo importante aquí es el código en la linea 28, el cual trata de localizar el identificador del recurso que queremos dentro de nuestro objeto de recursos, el método getIdentifier(String,String,String) espera recibir el nombre del recurso (desName que lo acabamos de construir), el tipo del recurso (string, layout, drawable, etc) en este caso "string" y el nombre del paquete donde se encuentran almacenados los identificadores de nuestros recursos (donde se encuentra la clase R de nuestro proyecto) en este caso "org.blanco.test.viewfliper".
Si este método regresa un identificador valido (si es mayor que 0) retraemos el recurso String con el método getString y lo almacenamos en nuestro resultado, si no guardamos un String por default en este caso "recurso no encontrado" (todo esto de las lineas 29-32. Al final cerramos el ciclo y regresamos el resultado.

Esta es la manera en la que retraje los recursos de una aplicación en forma dinámica, en este pequeño ejemplo utilizamos recursos String pero la idea puede ser aplicada a cualquier tipo de recursos. Espero y esta pequeña demostración les sirva en sus desarrollos si alguna vez se llegan a topar con un caso similar. De igual manera si saben de alguna otra manera en la cual obtener el mismo resultado y que sea mas optima o si tienen alguna duda o comentario les agradezco que dejen un comment en el post.
Saludos

jueves, 13 de enero de 2011

Regenerar la Clase R en proyectos Android

No es muy común, pero algunas veces puede pasar que cuando estas dentro de un proyecto de Android utilizando Eclipse y el plugin de ADT la clase R (la clase que se genera automáticamente para localizar los recursos) se pierda, se borre o se dañe de alguna manera; causando que el proyecto ya no sea compilable.
Para arreglar esto solo es necesario generar un nuevo recurso (algún string, o algún nuevo archivo layout, o algún archivo xml de android) para que el plugin de Android regenere la case. O también pueden utilizar las herramientas de android para el proyecto. Clic secundario en el proyecto => android tools => fix project y con esto la clase debe de estar generada nuevamente.
Lo comento por que recientemente un compañero no podía hacer esta tarea en un proyecto existente y siempre es bueno saberlo.
Saludos