Mostrando entradas con la etiqueta Tutorial. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tutorial. Mostrar todas las entradas

martes, 3 de julio de 2012

Cambiar de ROM en la HTC Magic 32B

Muchos de los usuarios de smartphones o tablets quieren sacar más partido de ellas instalando ROMs que aumentan el rendimiento y ofrecen nuevas características de los terminales. Sin embargo, la gran mayoría de ellos, entre los cuales me incluyo, realizan acciones como loros siguiendo tutoriales en internet, pero en realidad no tienen (tenemos) mucha idea de lo que en realidad estamos haciendo.

ROM de Cyanoget cargando en mi HTC Magic

A base de trastear, instalar, rootear, desinstalar, formatear, particionar, etc... uno va cogiendo conocimiento y parece que las acciones le van sonando. Pero siempre que tengo que volver a hacer algo en el teléfono, mismo problema: ¿cómo se hacía esto? Aquí lo dejo para que no se me vuelva a olvidar, o al menos, saber donde buscarlo.

Pues aquí va un mini-tutorial de cómo instalar una nueva ROM en la HTC Magic 32B (si es 32A tiene pequeñas modificaciones), suponiendo que ya se encuentra rooteada y que tenemos instalado un bootloader propio como el de Cyanogen o mejor todavía (el de Cyanogen ya no está soportado) el de Amon Ra.

Si no es así, no creo que puedas hacer el pequeño proceso que a continuación describo, pero aunque puedas, no sigas adelante pues puede tener consecuencias no deseadas (no digas que no te advertí, y no me responsabilizo por supuesto).

Pues si tu teléfono se encuentra en esas condiciones, el trabajo sucio ya está hecho, instalar ROMs es lo más sencillo que hay:


  1. Si tienes datos que quieras guardar, haz un backup. Yo no tengo nada que no pueda permitirme perder (quizá alguna foto pero poco más) así que me salto este paso. Hay aplicaciones estupendas que automatizan esto.
  2. Descarga la ROM que desees instalar. Asegúrate que sea la adecuada para tu teléfono. Cyanogen seguramente sea el desarrollador de ROMs más conocido del momento, pero hay otras muchas por ahí: busca, lee y elige.
    Muy posiblemente también tengas que bajar otro zip con las aplicaciones nativas de Google como gmail, maps, youtube... Las ROMs no suelen incluirlo
  3. Copia el archivo (o los archivos) descargado en la raíz de tu tarjeta micro SD, bien sacándola y pinchándola a un ordenador o bien conectando el teléfono al ordenador y habilitando la transferencia de archivos. No olvides extraer con seguridad una vez hayas terminado.
  4. Apaga el teléfono, espera unos segundos y vuelve a encenderlo manteniendo el botón home (la casita) apretado. En unos pocos segundos habremos accedido al bootloader que tengamos instalado (Amon Ra) seguramente. (Lista de como acceder al bootloader en distintos dispositivos).
  5. Para que nada falle y todo vaya bien, yo siempre elijo hacer un wipe completo del teléfono, pero esto es opcional. Al menos es recomendable hacer wipe de la caché dalvik.
  6. A continuación elige la opción flashear zip desde tarjeta SD que nos mostrará los archivos que hemos descargado anteriormente. Elige el de la ROM. Opcionalmente, instala también las aplicaciones de google si quieres o si es necesario siguiendo el mismo paso pero eligiendo esta vez el otro archivo.
  7. Reinicia el teléfono y listo. La primera carga puede tardar bastante, cosa de 5 minutos es normal aunque también puede tardar menos.
En estos 7 pasos hemos cambiado la ROM, como veis, es algo sencillo que no implica casi ningún riesgo y que podemos hacer cada vez que queramos probar una nueva ROM o reinstalar la que tenemos porque el teléfono empieza a ir lento, cosa que a mi me sucede cada pocos meses al ir instalando aplicaciones.

Espero haya sido de utilidad

lunes, 20 de diciembre de 2010

Métodos para el Drag and Drop en Java

Una de las cosas que se ha cambiado en la implementación de Java 6 es la manera en que se realizan los drag and drops (DnD) entre los componentes. No tengo ni idea de como funcionaba antes, pero por lo que he leído y me han contado, era bastante más complicado que como se puede hacer ahora.

Lo primero que se debe saber es que todo gira en torno a la clase TransferHandler. Muchos de los componentes de Swing ya vienen con un "Transfer Handler" por defecto, que en muchos casos será suficiente para nuestros propósitos.

Para comenzar a utilizar un TransferHandler en nuestro componente, existen tres métodos que deberemos emplear:

A continuación, existen dos tipos de métodos: los métodos para exportar datos y los métodos para importar datos.

Los primeros se utilizan para exportar los datos desde un componente cuando se comienza un gesto de arrastrar (drag) o cuando se copia o corta desde el componente con el que estamos trabajando. Estos métodos son:
  • getSourceActions(JComponent) - indicará qué acciones se permiten con los elementos del componente: copiar, mover o ambos. Este método se llamará automáticamente al comienzo del drag o arrastre.
  • createTransferable(JComponent) - este es el método más importante de todos ya que es el encargado de preparar los datos que se desean exportar: todo un objeto propio, sólo un String con el nombre, el id... Devuelve un objeto de tipo Transferable
  • exportDone(JComponent, Transferable, int) - este método se llama una vez que se ha terminado el drag and drop y en él se deben implementar las acciones necesarias después de la exportación (por ejemplo, después de mover un elemento, se debe eliminar de su ubicación original).

A continuación, los métodos empleados para importar datos cuando se suelta un objeto sobre un componente o cuando se pega desde el portapapeles:
  • canImport(TransferHandler.TransferSupport) - este método se llama de manera constante mientras se está haciendo un drag and drop y nos indica si el componente que se encuentra debajo del cursor del ratón aceptará los datos (return true) o si de lo contrario los rechazará (return false).
  • importData(TransferHandler.TransferSupport) - este método se invoca en el momento que se suelta sobre un componente terminando el drag and drop. Realiza las acciones necesarias para insertar los datos desde el origen hasta este punto y devuelve true en caso de una importación satisfactoria y false en caso contrario.

Por último, es necesario indicar la función de la clase TransferSupport, una clase interna de TransferHandler y que permite que se realice la transferencia de los datos entre el origen y el destino.Esta clase nos ofrece información acerca de la transferencia como el componente destino, la acción que se va a realizar (copiar o mover), los datos que se están transfiriendo, si se soporta ciertos tipos de datos, la localización exacta del componente destino...

Con estos métodos se puede realizar drag and drop en java, la lógica a aplicar en cada uno de ellos depende de nuestra aplicación en cuestión.

Tutorial completo