Abr 28

Como Kora tiene ahora la dependencia de BlueRose, cambia ligeramente la forma de echar a andar la aplicación. Por tanto, esta guía es para probar Kora con el servicio de BlueRose y el simulador andando. Para probarla en el móvil en modo simulación no hace falta liarla tanto, con el APK que hay en la forja es suficiente. Esto lo he probado solo sobre GNU/Linux.

Lo que he hecho para reducir la complejidad de la compilación es incluir el fichero JAR de BlueRose dentro de los proyectos, y así no hace falta enlazar a proyectos externos.

Os agradecería enormemente que lo probarais, aunque ya lo he probado sobre un portátil “desnudo” y aparentemente ha funcionado a la primera. Estos son los pasos:

  1. Descarga el código fuente de la aplicación y del simulador, ambas están en la carpeta trunk/ del repositorio. Puedes seguir las instrucciones del post anterior, solo que ahora tienes que descargar dos proyectos, que están en las carpetas trunk/Kora y trunk/SimKora, en lugar de uno solo en la carpeta trunk/. Uno es un proyecto de Android (Android->Android Project) y el otro, un proyecto de Java normal y corriente (Java->Java Project).
  2. Descarga el código fuente del servidor de BlueRose, compílalo y ejecuta los servicios:
    svn co http://thebluerose.googlecode.com/svn/trunk/src/cpp bluerose
    cd bluerose
    make
    ./DiscoveryServant & ./PubSubServant
  3. Una vez que tengas el servicio de BlueRose andando, ejecuta la aplicación del simulador, desde Eclipse. Debería abrirse y mostrar en la caja de texto que se ha conectado a BlueRose, que a su vez informará en la terminal de que se ha conectado un cliente.
  4. Cambia en el fichero res/raw/bluerose_config.xml del proyecto Kora las IPs que salen por las que tu router ha asignado a tu ordenador. No es necesario cambiar los puertos. Puedes ver tu dirección IP en la terminal en la que estés ejecutando el servicio de BlueRose. Si vas a usar el emulador, en el campo address puedes poner localhost directamente.
    Nota: la próxima opción de configuración que incluiré en la aplicación es el cambio de IP y puerto en el propio dispositivo, para que no haya que recompilar cada vez que se cambia de ordenador.
  5. Ejecuta Kora en el simulador de Eclipse o en un móvil conectado a la misma red que el PC, y cuéntame cómo te ha ido, o si has tenido problemas. Ah, y no olvides desactivar el modo simulación en los ajustes 😉
Abr 04

Ojo: este post es muy antiguo y es posible que algunas indicaciones no funcionen para versiones actuales de software (la versión actual de Java es la 1.7, y de Eclipse, la 3.6)

 

Nota: solo he probado la instalación para Windows y para GNU/Linux, si ves alguna errata, por favor, avísame. Al final he tenido que modificar las distribuciones de Yoxos.com, pues aún incluían una versión antigua del plugin para Android.

  1. Instala la JDK versión 1.6. En GNU/Linux puedes hacerlo fácilmente desde el gestor de paquetes, para MacOS y Windows puedes bajarla de aquí: http://java.sun.com/javase/downloads/widget/jdk6.jsp
  2. Descarga la versión del SDK de Android correspondiente para tu Sistema Operativo.
    • GNU/Linux:
      • Para cualquier distribución: te recomiendo que sea sobre una de 32 bits,  pues para una distro compilada para x86_64 es posible que tengas que instalar las bibliotecas para 32 bits. Descomprime el fichero y mueve la carpeta resultante a tu carpeta personal: /home/<tu_usuario>.
      • Para Arch Linux es suficiente con instalar desde el AUR los paquetes android-sdk, eclipse-android y todas sus dependencias. Esto puede hacerse de forma muy fácil y automática mediante yaourt:
        yaourt -S  android-sdk eclipse-android eclipse-subclipse subversion --noconfirm
        El paquete se instala bajo /opt/android-sdk y hay que cambiarle el propietario:
        sudo chown -R <usuario>:users /opt/android-sdk-linux
        Si has seguido este procedimiento puedes pasar directamente al paso  5, pues el resto de dependencias se instalan automáticamente.
    • Windows: descomprime el fichero en C: de forma que la carpeta resultante sea C:\android-sdk-windows.
    • MacOS X: descarga este fichero y descomprímelo en tu carpeta de usuario.
  3. Descarga Eclipse. Estas son versiones preparadas, descargadas desde yoxos.com(y modificadas por mí) que incluyen Subclipse y el plugin de Android.
  4. Descomprime el fichero de Eclipse.
  5. Abre el ejecutable de Eclipse, que está dentro de la carpeta descomprimida. Si instalaste desde repositorios, simplemente abre Eclipse desde el menú de aplicaciones.
  6. Una vez abierto Eclipse, ve a Window->Preferences, y en el diálogo que abre, en el apartado Android, rellena el campo SDK Location. Ya sea introduciendo la ruta a mano o mediante el botón Browse, introduce la ruta donde hayas descomprimido el fichero del paso 1 (por tanto, depende de tu sistema operativo).
  7. Descarga los paquetes necesarios para poder compilar y ejecutar el proyecto. Para ello, ve a Window->Android SDK and AVD Manager, en el diálogo que se abre, elige Installed Packages a la izquierda, y pulsa el botón Update all. En el diálogo que se abre, marca los que necesites. Para Kora solamente es necesario instalar “SDK Platform Android 1.6” y “Documentation for Android SDK, API 7, revision 1”. Si estás en Windows puede ser interesante instalar el driver USB para probar sobre dispositivos físicos.
  8. Crea un dispositivo virtual en el que probar las aplicaciones. En esta misma ventana (Android SDK and AVD Manager), elige el apartado Virtual Devices y pulsa New para crear uno nuevo. Ponle un nombre, elige la versión de Android que soportará y ponle un tamaño de al menos 256 megas de almacenamiento a la tarjeta SD. El resto de opciones pueden quedarse por defecto.
  9. Ya puedes comenzar un proyecto nuevo o cargar uno existente.
Mar 14

Este fin de semana tenía pensado publicar un tutorial sobre cómo configurar Eclipse fácilmente para programar con Android, con una parte de dedicada a cómo importar Kora desde la forja de RedIris, pero estoy utilizando los paquetes de yoxos.com para instalar Eclipse y aún no tienen lista la última versión de los plugins ADT de Android (0.9.6), que es necesaria para que todo funcione a la primera.

En cuanto actualicen los paquetes publicaré el tutorial.

Mar 10

El viernes comenzaron las presentaciones y los asistentes eligieron el proyecto con el que colaborar, con Kora decidieron colaborar cuatro personas: Dani, Alejandro, David y Manuel. Tras esto comenzamos una pequeña charla en la que expliqué el modelo de desarrollo de Android un poco por encima para posteriormente instalar el Eclipse y comenzar un pequeño proyecto de ejemplo. Y aquí comenzaron los problemas.

El maldito Eclipse se instaló correctamente pero comenzó a dar problemas al intentar instalar el SDK de Android, sobre todo por temas de dependencias. Creo que he encontrado una solución a esto y lo publicaré en el próximo post, que consistirá en una guía para poder descargar y probar Kora fácilmente (y por extensión, comenzar cualquier otro proyecto para Android).

Por la tarde, al cabo de casi dos horas, conseguimos echarlo a andar y comenzamos a trabajar con el pequeño ejemplo que tenía pensado, aunque no nos dio tiempo a terminarlo. Aproveché para comentar unas dudas con una muchacha psicóloga que vino, relacionadas con la paginación cuando hay más elementos de los que quepan en pantalla. Decidimos posponer la explicación de cómo funciona Kora para el día siguiente. Durante el fin de semana Dani se iba a quedar en un albergue, pero no tenían plazas para el sábado y al final pasó el fin de semana en mi casa.

El sábado quedamos por la tarde para reunirnos en alguna biblioteca, pero todas a las que fuimos estaban cerradas: de Arquitectura Técnica, de Andalucía, de la Facultad de Física y Matemáticas, Biosanitaria… Al final terminamos reuniéndonos en un bar, con lo que solo pudimos ver la aplicación un poco por encima. El sábado por la noche le expliqué a Dani la arquitectura de la aplicación un poco más profundamente, pero no escribimos ningún código.

La mala suerte no se acabó ahí. El domingo, en mi casa, se estuvo yendo la luz constantemente porque saltaban los plomos, sin saber por qué. Al final terminó produciéndose un pico de tensión y murieron el congelador, el microondas y el brasero. El amplificador de la antena de televisión sufrió quemaduras de tercer grado aunque ya está bien tras haber pasado por la UCI, donde se le reimplantó un condensador quemado. La fuente de alimentación de mi ordenador explotó (literalmente), y mi Wii tiene pronóstico reservado hasta que pueda ver si el problema está en el transformador de corriente o en la propia consola. Los saltos de los plomos los estaba provocando la tele de la buhardilla, a la que le estaba cayendo una gotera. Ha muerto también.

Esa tarde Dani y yo acabamos en casa de una tía mía, y durante las tres horas que estuvimos, acabamos implementando varias cosas. Draxus implementó la cuenta atrás de la pantalla de inicio, y Alejandro y David implementaron el diálogo de información. Los chicos de traducción me mandaron los ficheros de cadenas para el alemán, el francés, y corregidas para el inglés.

En definitiva, a pesar de la MALA suerte que hemos tenido, estoy contento. No tenía grandes expectativas para avanzar el proyecto este fin de semana, pues en tan poco tiempo es imposible que la gente aprendiera a programar para Android ágilmente, y además se enterasen del funcionamiento de Kora, a pesar del retraso que acumula. Se ha cumplido todo lo que propuse el viernes excepto la implementación de la vista de los perfiles de usuario.

De todas formas esto no es lo importante. En realidad lo es el haber visto los (interesantes) proyectos de algunos de mis compañeros, habérmelo pasado bien, el haberme forzado a volver a meterle caña de verdad al proyecto, haberme echado un buen amigo como Dani, etcétera.

Por último, me gustaría agradecer a la OSL la organización de estas jornadas, aunque si me permiten la sugerencia, deberían proporcionar algún lugar para reunirse durante el fin de semana. También a los compañeros que decidieron echarme una mano, y al dueño del bar que tan amablemente nos invitó a irnos el sábado, cuando empezaba el fútbol.

La presentación del lunes es esta: Presentación final Hackathón.