lunes, 23 de mayo de 2011

Fission 2.4.3 en Droid 2 Global

Hola que tal a todos, en esta ocasión les quiero compartir lo que hice el fin de semana, a demás de salir y pasarla bien con los amigos en el antro, también me dedique a flashear mi teléfono con el Fission Rom 2.4.3 y darle una probada.
Primero lo primero, la instalación es muy sencilla y 100% reversible así que jueguen con el tanto como quieran. Este procedimiento tiene como requerimiento que el teléfono tenga root, pueden consultar como tener root en mi post anterior. Es importante que antes de iniciar hagan un backup de sus contactos en la SDCard o en algún lado ya que se perderán (no se preocupen solo se pierden los datos del teléfono la SD card queda intacta). Aunque Fission 2.4.3 esta basado en Android 2.2 es bueno tener un cambio en el telefono y por lo que he visto en el foro de team-defuse fission 2.5.7 ya mero sale para droid 2 global.

  1. Descargar Droid 2 Bootsrapper: Esta aplicación es necesaria para comenzar la instalación y el booteo, la pueden descargar desde el android market donde les pide 2 dolares como "donacion" o en la siguiente direccion: http://www.koushikdutta.com/2010/08/droid-x-recovery.html solo que es código fuente y lo tendran que construir, si gustan pueden contactarme y les ayudo a construir la aplicación.
  2. Abran bootstrapper y presionen el boton bootstrap recovery. Les mostrara un mensaje de confirmación.
  3. Descargar Fission Room Manager desde esta pagina: http://www.teamdefuse.com/roms/rom-manager/
  4. Descargar las imágenes utilizando el Fision Room Manager, en este paso es bueno que tengas el teléfono conectado a una red wifi por que algunas imágenes son pesadas. Solo abran la aplicación y presionen el boton "List Downloads" esto les presentara la lista de roms disponibles, seleccionen Fission 2.4.3 y agréguenlo a la cola de instalaciones. También seleccionen Droid Global SIM Card HotFix por que si no tendrán problemas al leer los contactos de la tarjeta SIM. También pueden seleccionar algún otro add-on de la lista si gustan, como alguna aplicación extra o alguna boot animation. (Swype es muy importante aquí por que si no no tendrán este feature en su nuevo sistema, Launcher Pro, y quick office son recomendables tambien.), personalicen a su gusto.
  5. Una vez que tengan su cola de instalación lista con lo que gusten, presionen el boton Install Queue, eso los llevara a una nueva pantalla donde podrán seleccionar crear un backup antes de instalación. Seleccionen esta opción si no su sistema no podrá ser restaurado a su originalidad, luego en el combo seleccionen Wipe Data + Cache.
  6. Al final inicien la instalación. Esto reiniciara el teléfono y comenzara con la instalación, esperen unos minutos y el teléfono reiniciara con su nuevo sistema personalizado.
Luego de hacer varias pruebas con los roms esto es lo que he encontrado hasta el momento, una vez que inicia el teléfono es necesario configurar tu cuenta de google, lo cual necesita Internet, para configurar la conexión solo he encontrado la opción de 3G, creo que es posible cancelar el setup inicial y realizarlo después; es bueno que consigan un plan de datos para realizar lo inicial. Segundo, no mas motoblur lo cual puede ser bueno no malo, a mi casi no me gusta pero tenia la ventaja de poder linkear los contactos del teléfono con sus respectivas cuentas de facebook o twitter eso es lo que mas extraño en este room. Existe un paquete multimedia para Droid 2 voy a probar a ver si en ese paquete viene esa función. La aplicación para compartir el 3G por wireless (wireless tethering) no esta disponible así que va a ser necesario descargarla desde el market, así como facebook, twitter y demás, si tienes bien sincronizado tu cuenta de android market todas tus aplicaciones se restauraran automáticamente así que una cosa menos por que preocuparse. 

La verdad es que instalar este custom rom es muy fácil y divertido puedes jugar distintas combinaciones y adaptar el sistema a como mejor te guste. A continuación les dejo unos screenshots de como se ve mi nuevo sistema. Voy a tratar de conseguir una cámara de vídeo para grabar el proceso tal vez así sea mas entretenido. 
Saludos a todos

Nota: También es importante seleccionar el paquete de clipboard durante la instalación o después de ella se puede agregar siguiendo los mismos pasos pero solo seleccionando el feature y sin seleccionar wipe out en el combo. Este feature es importante para copiar y pegar texto en los imputs de las aplicaciones. Agregado (24-05-2011) 


jueves, 19 de mayo de 2011

Preferencias de Aplicacion en Android

Hola a todos en esta ocasión quiero compartirles una manera muy sencilla de guardar y retraer preferencias en las aplicaciones de Android. Las configuraciones son una parte muy importante en toda aplicación de software, y Android no es la excepción, ayudan a determinar el comportamiento del programa, habilitar o des-habilitar funciones e incluso guardar preferencias de usuario para hacer a la aplicación mas inteligente. Dentro de la plataforma de Android las configuraciones o preferencias son almacenadas en archivos XML en el directorio dedicado de la aplicación, como por ejemplo "/data/data/blanco.prefs.test/blanco.prefs.test_preferences.xml" estas preferencias pueden ser retraídas por medio de llaves "keys" y el objeto PreferenceManager. Si quisiéramos retraer un valor desde este objeto tendríamos que invocar un código parecido a este:

 PreferenceManager.getDefaultSharedPreferences(Context).getXXXX(LLAVE,VALOR_POR_DEFECTO)

Donde XXXX es el tipo de preferencia que queremos obtener por ejemplo String, Long, Boolean; LLAVE se refiere al nombre de la preferencia que queremos retraer, por ejemplo "habilitar_sonido"; y VALOR_POR_DEFECTO es el valor que sera obtenido si la llave no se encuentra dentro de nuestras preferencias, este valor debe de ser del mismo tipo que el especificado por la funcion en XXXX. 

Un ejemplo mas concreto. Si tubiera un archivo de preferencias como el que se muestra a continuación:
y quisiera retraer la propiedad text desde mi Activity principal, tendría que invocar el siguiente metodo


 PreferenceManager.getDefaultSharedPreferences(this).getString("text","");

y para guardar una preferencia tendría que invocar al editor de estas preferencias, una vez que se tenga el editor se pueden establecer todas las preferencias que se necesiten y después salvarlas al archivo XML. El código que se muestra a continuación  hace esa tarea.


Para controlar las preferencias del usuario en nuestra aplicación, necesitaríamos escribir una actividad que retraiga las preferencias, las vincule con algún control visual como un CheckBox, un EditView o algún otro y cada vez que el usuario cambie el estado de este control guardar el nuevo estado de la preferencia. Ahora imaginen que tienen 50 preferencias de usuario en la aplicación diferentes, esto se puede llegar a tornar un poco complicado, definir el Layout y el código para realizar todas estas tareas se torna tedioso y aburrido. Por suerte la gente de Android se preocupa por nosotros los desarrolladores y nos trae herramientas muy útiles, en la plataforma existe una actividad especial que se llama PreferenceActivity cuyo propósito es desplegar y guardar preferencias del usuario. Ademas esta actividad puede ser poblada de una manera especial para desplegar preferencias que han sido definidas en un archivo XML especial de recursos, la actividad se encargara de crear el Layout, Vistas y demás código para retraer y guardar los valores ademas de que podemos presentar una vista estándar similar a las desplegadas en el sistema y no desconcertar al usuario.
Este archivo especial que menciono se crea dentro del folder de recursos bajo la carpeta xml, en nuestro ejemplo tendremos que crear un archivo que se llame "res/xml/prefs.xml", bajo este archivo necesitamos crear un elemento raíz de tipo PreferenceScreen y debajo podemos crear Categorías, Preferencias de Checkbox, Preferencias seleccionables entre una lista, que sean introducidas por el usuario, selección entre tonos del teléfono o incluso una nueva pantalla que nos lleve a mas grupos de preferencias, etc., etc, etc. Este archivo se puede tornar tan complejo como sea necesario y la actividad se encargara de administrar todo lo necesario para que las preferencias se muestren y guarden perfectamente.
En ejemplo de la vida real tendríamos un archivo XML parecido a esto:

y nuestra Actividad de preferencias se definiría de esta manera:


Como pueden ver lo único que se necesita especificar es que la actividad cargue las preferencias desde el archivo XML que especificamos y eso es todo, la clase se encarga de crear las vistas y layouts necesarios así como el código para retraer y guardar las preferencias de usuario. Esta es una manera sencilla y rápida de manejar una opción tan importante como son las configuraciones de las aplicaciones. Espero y el articulo les haya servido, a continuación les dejo screenshots de como se ve la aplicación de ejemplo que realice.
Saludos a todos





miércoles, 11 de mayo de 2011

Google I/O 2011


El día de ayer inicio la conferencia mundial de Google, Google I/O 2011. Es la cuarta edición de esta grandiosa conferencia de desarrolladores en donde Google anuncia las mas novedosas entregas de la compañía. El evento es transferido vía web streaming en vivo durante el 10 y 11 de mayo, dentro de los anuncios mas importantes del evento fue la nueva versión de Android (Android IceCream Sandwitch) el cual añadirá grandes ventajas de honeycomb  como el Action Bar, Animations Framework, Resizable Widgets, entre otros a una gran variedad de dispositivos. Esta versión no sera exclusiva de Tablets (como lo es Honeycomb) y sera liberada como open source, lo cual no ha sucedido con Honeycomb. Dentro de la conferencia se anuncio que la Google se unirá a otros colaboradores dentro de la OHA para delinear reglas de como y que tanto tiempo tardaran las actualizaciones de google llegaran a los dispositivos de los usuarios, esperemos y esto sea cierto ya que este proceso de actualizaciones ha sido un poco difícil para los usuarios.
Otras tecnologías y servicios que fueron anunciados fueron:

  • HoneyComb 3.1
  • Video Rental
  • Music Beta
  • Android Open Accessory
  • Android@Home
  • Google TV
  • Entre otros
Ademas de todas estas tecnologías y servicios todos los asistentes recibieron una Tablet Samsung 10.1 totalmente gratis, una de las ventajas de asistir a este grandioso congreso. Esperemos y par el año que viene pueda escribir la experiencia desde esta grandiosa conferencia. A continuación les dejo el vídeo del Key Note que se sostuvo el día de ayer y si están interesados en ver las conferencias el día de hoy 11 de Mayo pueden visitar la pagina de Google I/O 2011 donde se transmiten las conferencias en vivo vía web streaming o pueden esperar a ver todas las conferencias en youtube ya que se publicaran al día siguiente.

Un Saludo