Jul 27

Ya se encuentran disponibles las primeras versiones publicas de las Aplicaciones para Nodos (Ambiente Distribuidos para la Creación Colaborativa) las cuales permiten controlar dispositivos que soporte el protocolo OSC (Open Sound Control) a través de una aplicación de escritorio o móvil a manera de control remoto, permitiendo el control de aplicaciones que permitan la comunicación con OSC, dispositivos como sintetizadores que soporten el protocolo y aplicaciones que sirvan de puente entre OSC y otros protocolos de control.

Camaleon Desktop Editor 0.7.1

Las aplicaciones de Nodos esta dividia en tres grandes productos :

  • Camaleon Desktop Editor :
    Editor de interfaces graficas que pemite crear los archivos que contienen las descripciones de los controles a ser visualizados en la aplicación de control. Permite la creación de interfaces con controles como Sliders, PushButtons, ToggleButtons, XY, MultiSliders, MultiToggles, Rotary, Labels
    http://www.sensorlab.org/nodos/sitio/camaleon/desktop-editor
  • Camaleon Desktop Player :
    Aplicación de Escritorio que hace las veces de control remoto para el manejo de las aplicaciones con soporte OSC. Utiliza las interfaces generadas por el editor para controlar diferentes aplicaciones y dispositivos.
    http://www.sensorlab.org/nodos/sitio/camaleon/desktop-player
  • Camaleon Android Player :
    Aplicación para dispositivos moviles basados en la plataforma Android que pemite el control remoto de aplicaciones con soporte OSC que esten en la misma red inalambrica que el dispositivo movil.
    http://www.sensorlab.org/nodos/sitio/camaleon/android-player

Las versiones del Player y el Editor pueden ser ejecutadas rápidamente a través de Java Web Start (se necesita instalar Java para su funcionamiento)

Enlaces :

Tagged with:



En July 27 de 2011, Marlon J. Manrique escribió acerca de Nodos : Editor y Cliente de Escritorio Publicados.
Jul 27

Ya se encuentran disponibles las primeras versiones publicas de las Aplicaciones para Nodos (Ambiente Distribuidos para la Creación Colaborativa) las cuales permiten controlar dispositivos que soporte el protocolo OSC (Open Sound Control) a través de una aplicación de escritorio o móvil a manera de control remoto, permitiendo el control de aplicaciones que permitan la comunicación con OSC, dispositivos como sintetizadores que soporten el protocolo y aplicaciones que sirvan de puente entre OSC y otros protocolos de control.

Camaleon Desktop Editor 0.7.1

Las aplicaciones de Nodos esta dividia en tres grandes productos :

  • Camaleon Desktop Editor :
    Editor de interfaces graficas que pemite crear los archivos que contienen las descripciones de los controles a ser visualizados en la aplicación de control. Permite la creación de interfaces con controles como Sliders, PushButtons, ToggleButtons, XY, MultiSliders, MultiToggles, Rotary, Labels
    http://www.sensorlab.org/nodos/sitio/camaleon/desktop-editor
  • Camaleon Desktop Player :
    Aplicación de Escritorio que hace las veces de control remoto para el manejo de las aplicaciones con soporte OSC. Utiliza las interfaces generadas por el editor para controlar diferentes aplicaciones y dispositivos.
    http://www.sensorlab.org/nodos/sitio/camaleon/desktop-player
  • Camaleon Android Player :
    Aplicación para dispositivos moviles basados en la plataforma Android que pemite el control remoto de aplicaciones con soporte OSC que esten en la misma red inalambrica que el dispositivo movil.
    http://www.sensorlab.org/nodos/sitio/camaleon/android-player

Las versiones del Player y el Editor pueden ser ejecutadas rápidamente a través de Java Web Start (se necesita instalar Java para su funcionamiento)

Enlaces :

Tagged with:



En July 27 de 2011, Marlon J. Manrique escribió acerca de Nodos : Editor y Cliente de Escritorio Publicados.
May 29

Introducción.

PhoneGap en pocas palabras es un framework para el desarrollo de aplicaciones móviles que posibilita a los desarrolladores a que implementen sus proyectos utilizando las tecnologías estándar de web: HTML5, CSS3 y Javascript, y este las convierte a aplicaciones híbridas, es decir, aplicaciones nativas de las diferentes plataformas móviles existentes que tienen acceso a gran parte del API nativo.

Tomado de http://www.phonegap.com/

Tomado de http://www.phonegap.com/

Esto lo logra empaquetando la aplicación web original con un navegador basado en webkit para desplegarla como si fuera una aplicación verdaderamente nativa.

Actualmente este framework soporta seis de las principales plataformas móviles del mercado: iOS, Android, Blackberry, PalmOS, Windows Mobile y Symbian.  Para mas información acerca del estado actual del soporte en cada una de estas plataformas consultar las características soportadas.

Existen otros frameworks similares a este entre los que se destacan Appcelerator Titanium, Mobl y Sencha Touch de los cuales espero estar escribiendo mas adelante.

En este artículo se describirá el proceso de instalación de PhoneGap, la creación de un proyecto base para el desarrollo con este framework y la elaboración de un ejemplo simple.

Instalar PhoneGap.

Descargar la última versión disponible del framework desde la siguiente ubicación.

https://code.google.com/p/phonegap/downloads/list

Para efectos de la documentación se utilizará la versión 0.9.5.1 que corresponde con las mas reciente para esta fecha.

$ wget http://phonegap.googlecode.com/files/phonegap-0.9.5.1.zip

Se descomprime el paquete recién descargado y se mueve a su ubicación final.

$ unzip phonegap-0.9.5.1.zip

$ mkdir ~/phonegap

$ mv phonegap-0.9.5.1 ~/phonegap/0.9.5.1

Crear la plantilla base de un proyecto Android.

A continuación se relacionan los pasos que se deben realizar para crear un proyecto PhoneGap para Android utilizando Eclipse y el plugin ADT instalados anteriormente.

Iniciar Eclipse y crear un nuevo proyecto a través del menú File > New > Android Project.

Crear un nuevo proyecto Android

Crear un nuevo proyecto Android

En el diálogo de información del proyecto a crearse especificar al menos los siguientes campos y presione el botón Finish para continuar.

  1. Nombre del proyecto (project name).
  2. API de Android a utilizarse (build target).  En este caso se utilizará el API 2.2.
  3. Nombre de la aplicación (application name).
  4. Crear una actividad (create activity).
Información básica del proyecto Android

Información básica del proyecto Android

En el Explorador de Paquetes (package explorer)  de Eclipse crear bajo el proyecto una carpeta /assets/www y otra /libs.

Copiar en la carpeta /assets/www el archivo phonegap.0.9.5.1.js y copiar en /libs el archivo phonegap.0.9.5.1.jar.  Ambos archivos se encuentran bajo el directorio ~/phonegap/0.9.5.1/Android creado durante el paso de instalación anterior.

Estructura del proyecto Android

Estructura del proyecto Android

Hacer clic derecho sobre el directorio /libs y seleccionar el menú Build Path > Configure Build Path… Allí en la pestaña Libraries agregue la referencia a /libs/phonegap.0.9.5.1.jar presionando el botón Add JARs…

Agregar al proyecto la referencia al JAR de PhoneGap.

Agregar al proyecto la referencia al JAR de PhoneGap.

Realizar las siguientes modificaciones al código fuente de la actividad.  Este archivo se ubica bajo la carpeta /src del proyecto (/src/com.jimezam.phonegap.demo/App.java en este caso).

  1. Reemplazar la línea 3 (import android.app.Activity;) con la siguiente: import com.phonegap.*;
  2. En la línea 6 cambiar la superclase de App de Activity a DroidGap.
  3. Reemplazar la línea 11 (setContentView(R.layout.main);) con la siguiente: super.loadUrl("file:///android_asset/www/index.html");
Modificaciones a la actividad inicial.
Modificaciones a la actividad inicial.

Hacer clic derecho sobre el archivo AndroidManifest.xml y seleccionar el menú Open With… > Text Editor.  A este documento realizar las siguientes modificaciones.

1. Agregar el siguiente texto entre la apertura de la etiqueta <manifest> y la apertura de la etiqueta <application>.

<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2. Agregar el siguiente atributo a la etiqueta <activity>.

android:configChanges="orientation|keyboardHidden"

Modificaciones al documento AndroidManifest.xml.

Modificaciones al documento AndroidManifest.xml.

Finalmente crear el archivo /assets/www/index.html con el código fuente para la demostración.

<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap demostration with Android</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
</head>
<body>
<h1>Hello Android's World with PhoneGap</h1>
</body>
</html>

Ejecutar el proyecto en el emulador.

Seleccionar el menú Run > Run As > Android Application.

Ejecutar como aplicación Android.

Ejecutar como aplicación Android.

Estos son un par de ejemplos de aplicaciones web simples ejecutándose con PhoneGap en el emulador de Android.

Hola Mundo web con Android

Hola Mundo web con Android

The Simple List 0.1

The Simple List 0.1

Enlaces.

Tagged with:



En May 29 de 2011, Jorge Iván Meza Martínez escribió acerca de Primeros pasos con PhoneGap para Android.
May 27

Introducción.

Para el desarrollo de aplicaciones en Android además de la instalación del SDK es necesario instalar Eclipse como ambiente de desarrollo -oficial- y el plugin ADT para su interacción con Android.

Obtener Eclipse.

Distribuciones de Eclipse

Distribuciones de Eclipse

Descargar de la siguiente ubicación una distribución de Eclipse que corresponda con el sistema operativo y arquitectura donde se desee instalar.  Para el desarrollo de aplicaciones con Android se recomienda utilizar la distribución clásica o la de Java, sin que esto aparentemente sea obligatorio.

http://eclipse.org/downloads/

Instalar Eclipse.

La instalación de Eclipse consiste únicamente en desempaquetarlo y ubicarlo en la ruta donde finalmente residirá.

$ tar zxvf eclipse-java-helios-SR2-linux-gtk.tar.gz

$ mv eclipse ~/

Instalar el plugin ADT.

Iniciar Eclipse y seleccionar la opción Install new software… del menú Help.

Presionar el botón Add… (esquina superior derecha) y especificar los siguientes valorses.

  • ADT Plugin como Name.
  • https://dl-ssl.google.com/android/eclipse/ como Location.
Agregar un repositorio a Eclipse

Agregar un repositorio a Eclipse

Seleccionar la casilla de verificación de la rama Developer Tools.

Paquete Developer Tools del plugin ADT de Eclipse.

Paquete Developer Tools del plugin ADT de Eclipse.

Presione el botón Next en los dos diálogos siguientes.  Seleccione la opción I accept the terms of the license agreements y presione el botón Finish para terminar el procedimiento.  Reinicie Eclipse cuando este lo solicite.

Configurar el plugin ADT.

En Eclipse acceda al diálogo de preferencias a través del menú Window > Preferences.

Seleccione la opción Android en el árbol del lado izquierdo.

Presione el botón Browse… y ubique el directorio de instalación del Android SDK si este no aparece correctamente.  Presione el botón Apply y finalmente Ok.

Preferencias del plugin ADT

Preferencias del plugin ADT

Enlaces.

Tagged with:



En May 27 de 2011, Jorge Iván Meza Martínez escribió acerca de Instalar Eclipse y el plugin ADT en GNU/Linux.
May 27

Introducción.

A pasado un tiempo desde que se describió el proceso de instalación del SDK 1.0 de Android y muchas cosas han cambiado desde entonces.  A continuación se describirá el procedimiento de instalación del SDK de Android en GNU/Linux, el cual deberá ser muy similar al de las demás plataformas.

Obtener y desempaquetar la distribución.

Descargar de la siguiente ubicación el paquete correspondiente al sistema operativo utilizado.

http://developer.android.com/sdk/index.html

En mi caso, como mencioné anteriormente, es GNU/Linux.

$ wget http://dl.google.com/android/android-sdk_r11-linux_x86.tgz

A continuación se descomprime el paquete recién descargado.

$ cd ~/

$ tar zxvf /<ruta>/android-sdk_r11-linux_x86.tgz

Instalar componentes adicionales.

En este paso se instalan los componentes del SDK como diferentes versiones del API, documentación, ejemplos y módulos provistos por terceros.

$ ~/android-sdk-linux_x86/tools/android

En este caso se va a realizar la instalación de los siguientes componentes.

  1. Android SDK Platform-Tools.
  2. Documentation for Android SDK.
  3. SDK Platform Android (2.2, API 8, revision 2).
  4. Samples for SDK (API 8, revision 1).
  5. Android Compatibility Package.
  6. Google Inc.
  7. LG Electronics.
Instalando componentes adicionales.

Instalar componentes adicionales.

Si decide instalar el componente de Google Inc. seleccione específicamente los módulos que desee segun las versiones del API que esté instalando.  Si elige instalarlos todos forzará a que se instalen también todas las versiones del API de Android.

 

Crear un AVD.

Un AVD hace referencia a un Android Virtual Device, es decir, a la imágen de un dispositivo virtual en el emulador.  El SDK de Android permite crear varios imágenes de este tipo con diferentes características.

Para las pruebas del software se creará el AVD de un dispositivo con una resolución de 320×480.

Crear un nuevo AVD.

Crear un nuevo AVD.

 

Enlaces.

Tagged with:



En May 27 de 2011, Jorge Iván Meza Martínez escribió acerca de Instalación del SDK R11 de Android en GNU/Linux.
Jan 10

Para que nuestro sistema operativo Ubuntu pueda ver el dispositivo Android desde el entorno de desarrollo para realizar depuración debemos configurar nuestra maquina para que reconozca el dispositivo al momento de conectarlo a través de USB

Identificadores de los Dispositivos :

Debemos identificar primero el identificador del dispositivo para nuestro sistema, aqui tenemos una lista de los dispositivos actuales, si no encuentra la marca de su dispositivo consulte la pagina oficial de Android o la documentación de su dispositivo o la pagina del producto :

  • Acer - 0502
  • Dell - 413c
  • Foxconn - 0489
  • Garmin-Asus - 091E
  • HTC - 0bb4
  • Huawei - 12d1
  • Kyocera - 0482
  • LG - 1004
  • Motorola - 22b8
  • Nvidia - 0955
  • Pantech - 10A9
  • Samsung - 04e8
  • Sharp - 04dd
  • Sony Ericsson - 0fce
  • ZTE - 19D2

Una vez identificado el vendedor del dispositivo procedemos a declarar una regla para cuando conectemos el dispositivo al puerto USB.

Pasos :

  • Abrir una Terminal
  • Ejecutar el siguiente comando (reemplace 0fce con el ID de su dispositivo) :
    echo 'SUBSYSTEM=="usb",SYSFS{idVendor}=="0fce",MODE="0666"' | sudo tee /etc/udev/rules.d/51-android.rules
  • Reiniciar el servicio udev
    sudo service udev restart

Para Conectar el Dispositivo :

  • Ir a Menu del Dispositivo
    Settings > Applications > Development
  • Habilitar
    USB debugging
  • Conectar el Dispositivo

Enlaces :

Tagged with:



En January 10 de 2011, Marlon J. Manrique escribió acerca de Configuracion Ubuntu 10.10 y Dispositivo Android.
Jan 06

Desafortunadamente y aunque Sony Ericsson siempre me ha parecido una buena marca de teléfonos, las actualizaciones del firmware de los teléfonos siempre ha sido una pesadilla, desde hace algunos años tengo un teléfono de esta marca el cual adquirí para realizar las pruebas de las aplicaciones en J2ME y Mobile Processing, pero nunca lo actualice de version por que la red de telefonía (COMCEL) nunca dio acceso a las actualizaciones y para realizar la actualización a mano tocaba actualizar con herramientas de terceros y nunca vi la necesidad de llegar a esto.

Ahora llega a mis manos un telefono Xperia X10 de Sony Ericsson para probar los desarrollos realizados en la plataforma Android, pero resulta que este teléfono tiene la version 1.6 de Android y en el mercado los últimos teléfonos ya vienen con la version 2.3.

A finales del año pasado, por los meses de Noviembre Sony Ericsson comenzó la actualización a la version de Android 2.1 lo cual deja mucho que desear, el proceso siempre ha sido lento en términos de la actualización del firmware y al parecer con Android sucede lo mismo, la verdad no se si es que el proceso es muy lento, no hay suficiente personal dedicado a esta labor o simplemente no les importa, cosa que puede estar en contra de sus ventas ya que al momento de adquirir un teléfono este estaría desactualizado frente a otras marcas.

Todavía es peor cuando uno se da cuenta que las actualizaciones han comenzado en Europa, luego Estados Unidos pero en Latinoamerica no han llegado y peor aun puede que su modelo de teléfono todavía no tenga actualización, esto se puede verificar con los números SI (SI-numbers) que son el numero de modelo real de su teléfono, asi usted puede tener un telefono Xperia X10 que no pueda ser actualizado todavia por que su numero SI no aparece en las actualizacion. Para verificar el SI-number de su telefono, debe destaparlo, quitarle la bateria y en el la etiqueta donde esta el modelo aparece SI cuatro numeros guion y otros cuatro numeros, estos son los que buscamos.

Para aquellos como en mi caso que busca poder instalar la ultima version del firmaware para realizar pruebas, existen modos alternativos para realizar la actualización, en este caso estaremos viendo como actualizar a Android 2.1 un Xperia X10 modelo X10a utilizando una maquina Windows como Host

Este procedimiento no es el oficial para la actualización del firmware del teléfono, es responsabilidad del usuario el realizarlo y no se da garantía alguna de su funcionamiento. No lo intente si no comprende que esta realizando. Siempre realice backup de su información personal.

Preparativos :

  • Tener una maquina Windows, en este caso utilizaremos un Windows 7
  • Deshabilitar el User Account Control (UAC)
    • Ir al Control Panel
    • Ir a User Accounts and Family Safety
    • Seleccionar el usuario que se usara
    • Ir a User Accounts
    • Ir al item Change User Account Control Settings
    • Colocarlo en la ultima opcion, Never notify
  • Instalar la version de Java actualizada para su maquina (32 o 64 bits)
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • Instalar el PC Companion de Sony Ericsson
    http://www.sonyericsson.com/cws/support/softwaredownloads/detailed/pccompanion/xperiax10?cc=gb&lc=en
  • Conectar el teléfono para instalar los drivers para el Xperia X10 que acompañan el PC Companion
  • Realizar backup de la información personal
  • Borrar información personal (Se debe realizar para que la actualización del firmware funcione)
    Ir a Settings
    Seleccioanr SD Storage & phone storage
    Seleccionar Factory Data Reset

Pasos :

  • Descargar la herramienta para actualizacion de Firmware
    en este caso se utilizara X10Flash 2.1
    esta se puede descargar del siguiente enlace :
    http://www-stud.uni-due.de/~sfanmakr/X10Flash/X10Flash-2.1.zip
  • Descargar el Firmware con Android 2.1
    Esto seguramente es el Firmware de algun telefono que se ha actualizado
    http://www.multiupload.com/9N5BJ7II13
    Esto descarga un archivo llamado Global World 2.1.zip
  • Descomprimir los dos archivos
  • Copiar el directorio firmware de Global World 2.1 dentro del directorio FlashToolRelease
  • Apagar el Telefono y conectar el cable USB al computador pero no al telefono
  • Ejecutar el archivo x10flash.bat (no el archivo jar)
  • Rapidamente :
  • Presionar la tecla Back (Atras), dejar presionado y conectar el cable USB
  • El led se debe colocar en color verde
  • Ir a la aplicación ir presionar el botón Flash
  • Seleccionar el firmware y presionar el botón OK
  • Se deben copian los archivos al teléfono, toma unos cuatro minutos
  • Desconectar el teléfono
  • Cuando se encienda el teléfono ya se debe tener la version 2.1 de Android
  • Proceda a recuperar los datos

Aqui un video que ilustra el proceso :
http://www.youtube.com/watch?v=wacg-dsx9ew

Enlaces :

Tagged with:



En January 6 de 2011, Marlon J. Manrique escribió acerca de Actualizando Xperia X10 a Android 2.1.
Dec 27

Continuando con el cacharrero con Processing for Android, la siguiente prueba a realizar es utilizar el API de localización geográfica de la plataforma para obtener las coordenadas geográficas usando el GPS incorporado en muchos dispositivos que proveen este servicio. La aplicación simplemente mostrara las coordenadas geográficas (longitud y latitud) en la pantalla en texto las cuales podrían ser utilizadas mas adelante para crear aplicaciones que usen la información geográfica para obtener otros datos.

Para permitir el reuso de la aplicación se creo una clase ALocation que encapsula el código necesario en la plataforma Android para acceder al servicio de Localización Geográfica y que implementa lo necesario para que funcione con el emulador (no lo he podido probar en un dispositivo), esta clase provee un método llamado getLocation() que devuelve un arreglo de reales (double) con la longitud y la latitud si el dispositivo pudo obtener la posición geográfica, si no retorna null. El sketch simplemente visualiza el la pantalla dos mensajes indicando que se debe tocar la pantalla para obtener las coordenadas geográficas, una vez el usuario ha pulsado la pantalla se procede a obtener los datos del GPS del dispositivo y a visualizarlos en la pantalla.

Localizacion Geografica en Processing for Android

Ejecutar el Sketch :

  • Instalar Processing for Android (ya se ha publicado como hacerlo)
  • Descargar el Sketch
  • Descomrpimirlo
  • Abrir el sketch utilizando Processing for Android
  • Ejecutar el sketch pulsado el botón Run
  • Una vez se ha cargado el sketch en el emulador procedemos a actualizar la posicion geografica dentro del emulador
    • Abrimos una terminal
    • Ejecutamos el siguiente comando
      telnet localhost 5566
    • Actualizamos la posicion geografica escribiendo
      geo fix -82.411629 28.054553
  • Damos click sobre la pantalla del emulador
  • Se debe visualizar la longitud y latitud en la pantalla

A continuación se describe el código usado en el sketch

El sketch como se dijo anteriormente esta dividido en el codigo de Sketch para la visualización de la información en la pantalla y una clase llamada ALocation que permite acceder a la información geográfica a traves del API de Localizacion de la plataforma Android.

La clase ALocation utiliza el LocationManager para acceder a los servicios de localización, el LocationManager debe ser solicitado a través del metodo getSystemService() de la clase Activity la cual es el sketch en si (un objeto de la clase PApplet) que ha sido implementado como una Activity, por tal motivo es necesario pasarlo dentro del constructor de la clase. Para obtener la información geográfica en el emulador se debe especificar el proveedor de la información como el "gps"  por tal motivo solo se usa esta proveedor en este caso, en un dispositivo real podrían haber cero o mas proveedores, por ejemplo "network" es un proveedor que calcula la localización geográfica por medio de la red telefónica, pero este no funciona en el emulador.  Adicionalmente se debe inscribir un LocationListener para que el emulador  pueda retorna la ubicación por eso se utiliza el metodo requestLocationUpdates() aunque no se implemente ningun metodo del listener.

public class ALocation implements LocationListener
{
  /** The parent Sketch */
  PApplet pApplet; 

  /** The Location Manager of Android API */
  LocationManager locationManager;

  /** Location Provider. Can be gps, network */
  String provider = "gps"; // The gps works with the emulator 

  /** Create a new location manager with the current sketch */
  public ALocation(PApplet pApplet)
  {
    // Set the current sketch
    this.pApplet = pApplet; 

    // Get a Location Manager for this application
    locationManager = (LocationManager)
      pApplet.getSystemService(Context.LOCATION_SERVICE);          

    // Star a listener to obtain the location
    // required for the emulator to retrive the gps location
    startListener();
  }

  /** Start a location listener to obtain changes in the location */
  private void startListener()
  {
    // Create a new Thread and start it
    new Thread()
    {
      /** Set the location listener */
      public void run()
      {
        // Init a message looper, required for Android
        Looper.prepare();
        // Request the location from the provider
        // each 60 seconds with a minimum notification of
        // 20 meters
        locationManager.requestLocationUpdates(provider,
          60000,20,ALocation.this);
      }
    }.start();
  }

  /** Return the location [longitude,latitude], null if no location available */
  public double[] getLocation()
  {
    // Create the array to store latitude and longitude
    double[] data = null;

    // Get the location using the manager
    Location location = locationManager.getLastKnownLocation(provider);

    // If the location is not null
    // Get the latitude and longitude
    if(location != null)
    {
      data = new double[2];
      data[0] = location.getLongitude();
      data[1] = location.getLatitude();
    }

    // Return the data
    return data;
  }

  /* Methods required for the Listener, not implemented yet */
  @Override
  public void onLocationChanged(Location loc)
  {
  }

  // ...
}

El sketch esta compuesto por dos mensajes para visualizar la longitud y la latitud, una instalancia de la clase ALocation, en el draw se pintan los mensajes en pantalla y una vez se presione el mouse (se toque la pantalla) se procede a obtener la ubicacion geografica

// Class that retrives the location
ALocation aLocation;

//  The messages to show in the screen
String longitude = "Touch The Screen";
String latitude = "To load the Location Data"; 

/* Create the aLocation object */
void setup()
{
  aLocation = new ALocation(this);
}

/* Draw the messages */
void draw()
{
  background(200);
  text(longitude,100,100);
  text(latitude,100,120);
}

/* When the screen is touch the location is show */
void mousePressed()
{
  showLocation();
}

/* Request the location from the GPS
   if null, no location is available
   else show the longitude and latitude in the screen */
public void showLocation()
{
  // Get the location
  double[] location = aLocation.getLocation();

  // Check if the location is available
  // and update the messages
  if(location != null)
  {
    longitude = "Longitude = " + location[0];
    latitude = "Latitude = " + location[1];
  }
  // No location available, show an error
  else
  {
    longitude = "Error";
    latitude = "Location not Available";
  }
}

El emulador no devuelve ninguna ubicación si previamente no se le ha actualizado con una, afortunadamente nos podemos conectar a través de telnet con el emulador y con el comando geo suministrar los valores, los cuales son tomados por el emulador cuando se llame al código para obtener la posición geográfica

Tagged with:



En December 27 de 2010, Marlon J. Manrique escribió acerca de Processing for Android : Usando el GPS.
Dec 27

Al momento de ejecutar el emulador de Android desde el ambiente de desarrollo de Processing for Android, este a veces ocupa gran parte de la pantalla lo que no permite de manera fácil interactuar con el emulador y el ambiente de desarrollo al mismo tiempo.

Una posible solución a este problema es lanzar el emulador desde linea de comando por medio del SDK de Android antes de lanzarlo desde el ambiente de desarrollo de Processing, de esta manera podemos escalar el tamaño del mismo al gusto.

Processing for Android, Controlando el tamaño del Emulador

Pasos :

  • Abrir una consola o terminal (en Linux o Windows)
  • Ir al directorio donde esta instalado el SDK de Android
    por ejemplo en el caso de Linux podemos ejecutar el comando
    cd <dir donde se instalo el sdk>/android-sdk-linux_86/tools
  • Ejecutar el emulador suministrando el nombre del dispositivo utilizado por Processing y suministrar la escala deseada
    Ejemplo :
    ./emulator -avd Processing-Android-7 -port 5566 -no-boot-anim -scale 0.7

El valor de la escala va desde 0.1 a 3, donde 1 es la escala actual, por ejemplo si colocamos 0.5 el emulador aparece con la mitad del tamaño original y si usamos el valor 2 el emulador aparecerá del doble del tamaño

Tagged with:



En December 27 de 2010, Marlon J. Manrique escribió acerca de Processing for Android : Controlando el Tamaño del Emulador.
Dec 25

Actualmente se encuentra en desarrollo una version para Android de la herramienta de creación de aplicaciones visuales Processing, se encuentra en sus versiones "Beta" habiendo hecho su aparicion en la revision numero 175 de principios del año 2010, actualmente nos encontramos en la vesion 192 del 18 de Diciembre de 2010.

Processing for Android implementa el API de Processing en la plataforma Android, permitiendo construir sketchs visuales de una forma fácil y rápida utilizando la misma serie de instrucciones que la version de escritorio de Processing, también incluye el ambiente de desarrollo el cual puede colocarse en modo Android que junto al SDK de Android permite la creacion de sketchs para Android, los cuales pueden verse funcionando en un Emulador.

Actualmente el ambiente de desarrollo de Android esta separado del ambiente de desarrollo de escritorio mientras se realizan las pruebas, de tal modo que esta version de Processing no permite crear aplicaciones para Escritorio, pero en un futuro estos dos ambientes se fusionaran en un solo Processing que contendrá las dos funcionalidades.

Requistos :

Para la instalacion de Processing for Android necesitamos :

  • Una maquina con Ubuntu Desktop 10.10
  • Permisos de sudo para la instalación de programas
  • Una conexión a Internet

Processing for Android

Pasos :

  • Instalación del Java, si no tiene el JDK instalado :
    • Instalación Distribución Oficial del JDK de Oracle :
      • Abra una consola
      • Adicionar el repositorio de Partners
        sudo add-apt-repository “deb http://archive.canonical.com/ lucid partner”
      • Actualice la lista de paquetes
        sudo apt-get update
      • Instalar el JDK
        sudo apt-get install sun-java6-jdk
    • Instalación del Open JDK :
      • Abra una consola
      • Actualice la lista de paquetes
        sudo apt-get update
      • Instalar el OpenJDK
        sudo apt-get install openjdk-6-jdk
  • Instalación Android SDK :
    • Visitar y descargar la ultima versión del SDK de Android para Linux :
      http://developer.android.com/sdk/index.html
    • En nuestro caso instalaremos el r05
      • Abrir una consola
      • Bajar el SDK
        wget http://dl.google.com/android/android-sdk_r08-linux_86.tgz
      • Descomprimir el archivo :
        tar -zxvf android-sdk_r08-linux_86.tgz
      • Ir al directorio de tools
        cd android-sdk-linux_86/tools
      • Ejecutar el Android
        ./android
      • Pulsar el botón "Available Packages"
      • Abrir la opción Android Repository
        Seleccionar :
        SDK Platform Android 2.1, API 7, revision 2
      • Abrir la opción Third party Add-ons
        Abrir Google Inc. add-ons
        Seleccionar : Google API by Google Inc., Android API 7, revision 1
      • Pulsar el botón "Install Selected"
      • Aceptar la licencia
        Activar el checkbox "Accept All"
      • Pulsar el botón Install
      • Se comenzaran a descargar de Internet los paquetes seleccionados.
      • Reinicie el ADB cuando se le solicite
      • Cierre todas las ventanas de Android
  • Instalación Processing for Android :
    • Ir a la pagina oficial y descargar la versión mas actualizada :
      http://android.processing.org/
    • Para nuestro caso instalaremos la revision 0192
      • Abrir una consola
      • Descargar el Processing for Android
        wget http://processing.googlecode.com/files/processing-0192.tgz
      • Descomprimir
        tar -zxvf processing-0192.tgz
      • Cambiar al directorio de Processing
        cd processing-0192/
      • Ejecutar Processing
        sh processing
      • Seleccionar un directorio para almacenar los sketchs
      • Ir al menu Tools, a la opcion Android Mode o presionar Ctrl-D
      • Una caja de Dialogo solicita la informacion del SDK recien instalado
        pulsar el boton Yes
      • Seleccionar el directorio donde se instalo el SDK de Android
      • Abrir un Sketch Basico
      • Ejecutarlo
        Debe aparecer el emulador de Android y ejecutarse el Sketch
        esto puede tomar algún tiempo
Tagged with:



En December 25 de 2010, Marlon J. Manrique escribió acerca de Instalacion Processing for Android en Ubuntu 10.10.