Instalación del Plugin de PhoneGap en Eclipse

Phonegap es un framework que recientemente fue adquirido por Adobe. Estuvimos probando este Framework en la version 0.9 con IOS y funcionaba bastante bien, el proyecto es puro HTML / Javascript y se puede fácilmente usar librerías como JQuery adentro de Aplicaciones Nativas.

La gran característica de Phonegap es ser Cross-Platform esto permite facilmente poder usar Librerías de Javascript. Es compatible con dispositivos IOS, Android, Blackberry, Windows Phone Mango y, aunque no lo he probado, támbien para Symbian y PalmOS..

PhoneGap tiene ahora un gran potencial con JQuery Mobile, y librerías como el Plugin de Phonegap para Facebook

Aqui les muestro los pasos a seguir para completar la instalación del plugin de PhoneGap para Android en Eclipse en la version 1.2

– Antes que nada descomprimir el SDK / AVD desde la página del Android SDK y luego ejecutar el AVD ( SDK Manager.exe en Windows ).

En mac os ejecutar en el shell

    tools/android update sdk --no-ui

Luego abrimos el eclipse y se instala el plugin ADT de Android

Ahora sí se puede instalar el plugin de Phonegap. Abrir Add / Install Software en Eclipse

Y poner la dirección URL del repositorio de Phonegap. Eclipse va a buscar cual plugin instalar.

el repositorio donde se encuentra la última version del plugin:
http://svn.codespot.com/a/eclipselabs.org/mobile-web-development-with-phonegap/tags/r1.2.4/download/
[UPDATE 05/02/2013]
La direccion url del plugin de Phonegap ha cambiado, esta es la correcta:

http://svn.codespot.com/a/eclipselabs.org/mobile-web-development-with-phonegap/tags/r1.2/download/

Pegamos esta url en la ventana de “add repository”.

Se reinicia el Eclipse, y ya tenemos nuestro Plugin instalado. Podemos empezar a crear un nuevo proyecto.

Una vez creado en la lista de los archivos tenemos a disposicion un Activity en Java que lo que hace es llamar al index.html de la carpeta www en assets. Podemos hacer que el java se comunique directamente con nuestra Activity.

Ahora si miramos la carpeta www tenemos a nuestra disposición un index.html, y una carpeta imagenes donde están nuestros iconos para exportar nuestra aplicación, también se encuentran las librerías necesarias para nuestro proyecto que son JQuery mobile y un main.js dónde ya podemos empezar nuestro proyecto en javascript.

Para exportar y ver nuestro proyecto simplemente hacer click sobre la carpeta del proyecto, y usar el comando Run. El eclipse llama a nuestro AVD donde vamos a seleccionar nuestro dispositivo de Prueba. Luego compila nuestro proyecto en Javascript en un APK para Android y lo instala en el dispositivo iniciado. Hasta este punto llegamos, y estén pendientes de más información al respeto.

Publicado en Android, Phonegap | 21 comentarios

Configuración del entorno Nativo de desarrollo para Android

Al momento de optar para las performancias en un desarrollo de Aplicaciones en Android, en su entorno de desarollo podremos encontrar la opción de elaborar un proyecto en su entorno nativo. El Java de la máquina virtual Dalvik ofrece la posibilidad de trabajar en código nativo a través de JNI, y donde se puede dialogar con librerías en C, C++.

El Native Development Kit es un complemento del sdk de Android, que está disponible en el sitio de Desarrollladores de Google, con la reciente publicación del sdk de Gingerbread ya se puede escribir completamente en código nativo sin tener ninguna necesidad de un wrapper en java.

Para nuestro primer proyecto, que se puede realizar mediante la NativeActivity Class, vamos a poder empezar a codear en C o en C++.

Algunos pasos para entender como se compila :

  • Primero se baja el NDK desde la pagina de google ( android-ndk-r5-linux-x86.tar.bz2), luego se descomprime el archivo comprimido, y se cambia el nombre del directorio. Por ejemplo en /opt/android-ndk/
  • Luego se genera un makefiles, por ejemplo en su directorio projects: /home/projects/jni/Android.mk
  • Si queremos agregar nuestro directorio del NDK al PATH de nuestro entorno.
PATH=$PATH:/opt/android-ndk
export PATH
  • O sino podemos crear un enlaces simbólico en la carpeta del NDK haciendo referencia a nuestro proyecto.
sudo ln -s /home/projects/jni /opt/android-ndk

Cómo se compila? :
Al momento de compilar su proyecto existe varias opciones, se puede usar un standalone programm hecho en un makefile en C. Buscamos a ejecutar el ndk-build que se encuentra en el directorio del ndk y que agregamos en el PATH de nuestro sistema.

Con un makefile podemos libremente llamar el compilador para que haga un deploy en C.

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)
$ ndk-build clean      # clean all generated binaries
$ ndk-build -C /home/projects/jni      # builds the .so files

ndk-build es a su turno un pequeño wrapper para gnu make:

$ GNUMAKE -f $NDK/build/core/build-local.mk [parameters]

usar Ant para el deploy:
Con el proyecto AndroidAnt, es ANT que se encarga de ejecutar las clases, las configuración se hacen mediante xml antes de hacer el deploy con el ADT.

ant compile    # builds the Java app and embeds the .so within the final .apk
ant install

usar la toolchain de Android o compilar una toolchain propia
Hay que tener en cuenta que el hecho de tener ya la toolchain completa de Android, ya te facilita, la tarea, pero podemos compilar nuestra propia toolchain con el source del NDK, por ejemplo este tutorial ndk r5 con ubuntu y este: android ndk makefile. Esto obliga a concebir la mejor forma de cross-compiling. NDK provee esta toolchain que facilita la integración de código nativo adentro de la arquitectura del SDK de Android.

Embeber las librerías
La gran ventaja, es que si el proyecto necesita embeber librerías de código nativo, se puede usar LD_LIBRARY_PATH en linux. O sino en un dispositivo Android es /system/lib/ pero en este nivel se encuentra en read-only. Justamente el NDK resuelve este problema, y permite embeber cualquiera librería en código nativo como parte del Application Package en /data/data/your.package/lib/ .

Como el NDK es literalmente Open Source, ya existen variaciones para facilitar la integracion con otras librerías en C++ como las de boost. Y la librerías que se puede usar son Standard C Library, opengl ES 1.1, opengl ES 2.0, media, stlport, libc, libm (math library), libz (zlib compression library), libjnigraphics, openSL.

Publicado en Android | Tagged , , , | Dejar un comentario

Como obtener la resolución de pantalla y densidad en Aplicaciones Android

En caso de una aplicación que no use la compatibilidad de resoluciones por xml (layout small, layout normal, layout large y ahora xlarge) para adaptarse a las distintas resoluciones de cada pantalla, la api de Android cuenta con la clase Display que se encuentra en el package View y la clase DisplayMetrics que está en util.

En su aplicación vas a poder controlar cada gráfico (drawable) de acuerdo al ratio de la pantalla y de su densidad. Existe en Android la relación DPI / pixeles que permite siempre medir en densidades en las distintas resoluciones (en pixel). Se trabaja con la unidad métrica Dip (Density-independent pixel) que equivale más o menos a 1.5 pixel ( escala ) para todo lo que es drawable y el cuerpo de las tipografías.

Con el Objeto Display entonces podemos calcular cuánto mide la pantalla del dispositivo en que se ve la aplicación, su orientación en el momento que se abre, el refreshrate de la pantalla.

Con el objeto DisplayMetrics, obtenemos la densidad por dpi y si el equipo es High Density o Low Density, Medium Density. De acuerdo a su densidad los valores en dip representan distintos valores en pixeles.

Por ejemplo:
300 dip en HVGA (320×480) son 300 pixeles
300 dip en WVGA800 (480×800) son 450 pixeles
1 dip en HVGA (480×854) son 1.5 pixeles

Teniendo en cuenta que la densidad de pantallas HVGA (HDPI) es superior a 240 dpi y hasta 300 dpi, y la densidad de WGA (LDPI) es de 160 dpi, existe ahora XHDPI que es a partir de 300 dpi y superior.

La relacion para averiguar a qué equivale un pixel según la densidad es:
pixels = dps * (scaleDensity / screendensity)

Para probar con un ejemplo, tenemos este código que permite encontrar a mano los pixeles según las resoluciones de pantalla cuando sólo tenemos los dps(Density-independent pixel) de un drawable, layout, tipografía:

package net.androidda.example.resolution;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;
import android.widget.TextView;

public class MainActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        TextView text1 = (TextView) findViewById(R.id.text1);
        TextView text2 = (TextView) findViewById(R.id.text2);
        TextView text3 = (TextView) findViewById(R.id.text3);
        TextView text4 = (TextView) findViewById(R.id.text4);
        TextView text5 = (TextView) findViewById(R.id.text5);
    	Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    	
    	
    	text1.setText("Ancho de la Pantalla " + Integer.toString(display.getWidth()));
    	text2.setText("Alto de la pantalla " + Integer.toString(display.getHeight()));
    	text3.setText("Densidad de la pantalla (dpi) " + getResources().getDisplayMetrics().densityDpi);
    	
    	float scale = getApplicationContext().getResources().getDisplayMetrics().density;
    	text4.setText("Escala " + Float.toString(getApplicationContext().getResources().getDisplayMetrics().density));
    	
    	// buscando los pixeles a partir de dips con la densidad
    	int dips = 200;
    	float pixelBoton = 0;
    	float scaleDensity = 0;
    	
    	DisplayMetrics metrics = new DisplayMetrics();
    	getWindowManager().getDefaultDisplay().getMetrics(metrics);
    	
    	switch(metrics.densityDpi)
    	{
    	case DisplayMetrics.DENSITY_HIGH: //HDPI
    		text5.setText("Alta Densidad");
    		scaleDensity = scale * 240;
    		pixelBoton = dips * (scaleDensity / 240);
    		break;
    	case DisplayMetrics.DENSITY_MEDIUM: //MDPI
    		text5.setText("mediana Densidad");
    		scaleDensity = scale * 160;
    		pixelBoton = dips * (scaleDensity / 160);
    		break;
    		
    	case DisplayMetrics.DENSITY_LOW:  //LDPI
    		text5.setText("baja Densidad");
    		scaleDensity = scale * 120;
    		pixelBoton = dips * (scaleDensity / 120);
    		break;
    	}
    	Log.d(getClass().getSimpleName(), "pixels:"+Float.toString(pixelBoton));
    	
    	

    	
        
        
    }
}

y una forma más directa de descubrir lo mismo con TypedValue:

Resources resources = getResources();
Int dips = 200;
float pixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dips, resourses.getDisplayMetrics());



Gracias por comentar este post por si lo quieren aplicar en ejemplos precisos.

[UPDATE]
Pueden descargar el proyecto actualizado a Android 4.0, con resoluciones de pantalla para el Nexus 7 y XXHdpi ( Samsung s4, Htc One, Xperia Z ).
ResolucionTest.zip
Y aquí les dejo el APK generado por este proyecto:
ResolutionTest.apk

Publicado en Android | Tagged , , | 20 comentarios

Cómo fue la reunión de desarolladores en Bogotá

La reunion de desarolladores en Android se hizo anoche a pesar de un terrible aguacero. Por suerte estabamos cubiertos. Se unieron a nosotros usuarios de Android con sus expectativas para encontrar respuestas sobre la plataforma. En la reunión se vieron muchos dispositivos Android como el Nexus one ( uno con la reciente actualización a gingerbread! ) y el htc g2, htc desire, motorola milestone , dos usuarios estaban estrenando un samsung captivate y un samsung galaxy lite, algunos desarrolladores vinieron con el ya clásico y notorio htc g1. Ya es tiempo de actualizar ;)
El interés para la plataforma crece, y creo que en cada reunión vendrá más gente. A través de la simple convocatoria en Twitter, cerca de 20 personas vinieron al evento. Dentro de los temas charlados están entre otros google maps api, google voice, los compiladores alternativos para android, y las eternas cuestiones sobre la red de 3g aquí en Colombia!

Aqui le dejamos estos dos gráficos resultados de la encuesta sobre las aplicaciones más usadas entre los usuarios presentes =

Gracias a @sepalacio para transformar la encuesta en gráfico y a @tifis para las fotos.

Publicado en Android | Dejar un comentario

como usar Canvas y Paint para dibujar en Android

La api de Android viene con la clase Canvas que contiene muchos métodos para dibujar formas. Se puede crear rectángulos, cuadrados, círculos, textos, bitmaps o formas libres.

Para dibujar dos rectángulos de colores con una margen simétrica sobre los bordes exteriores, creamos una clase que herede de View y la usamos al lugar del Layout tradicional. En esta clase se podrá trabajar en toda la pantalla sin depender de la clase Activity, se usará libremente todos los métodos con Paint. Exjemplo:

public class DrawDemo extends Activity {
    InternalView myView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.onCreate(savedInstanceState);
        myView = new InternalView(this);
		setContentView(myView);
    }
    private class InternalView extends View{
		public InternalView(Context context){
			super(context);
		}

		@Override 
		protected void onDraw(Canvas canvas) {
			super.onDraw(canvas);
			Paint paint = new Paint();
			paint.setStyle(Paint.Style.FILL);
			paint.setColor(Color.BLUE);
			canvas.drawPaint(paint);
			paint.setColor(Color.BLACK);
			paint.setAntiAlias(true);
			canvas.drawRect(16, 16, getWidth()-16, getHeight()-16, paint);

		}
	}
}
Publicado en Android | Tagged , , | 2 comentarios

detectar la versión de Flash en un dispositivo Android

Una aplicación en Android puede necesitar saber si el Flash Player se encuentra instalado o no. Por ejemplo un launcher de juegos desde algún Widget o antes la ejecución de un video con el formato flv.

Aqui le mostramos un ejemplo simple con una clase en Java que permite saber si se encuentra el Flash en el dispositivo, hasta nos permite conocer la versión del flash player.

import android.app.Activity;
import android.content.ContentProvider;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class MainActivity extends Activity {
	
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        
        String message="Flash player is not installed";
        String versionnumber="";
        
        Context context = getApplicationContext();
        
        TextView outputTxt = (TextView) findViewById(R.id.labelFlash);

        PackageManager pm = getPackageManager();
        
        // checking flash package from PackageManager
        try{
        	ApplicationInfo ai = pm.getApplicationInfo("com.adobe.flashplayer", 0);
        	
        	if(ai != null){
        	   versionnumber = pm.getPackageInfo("com.adobe.flashplayer", 0).versionName;
                   message = "flash is here.\r\n" + versionnumber;
        	}
        	
        	
        }catch (Exception e) {
			Log.d(getClass().getSimpleName(), e.getMessage());
		}
        
        outputTxt.setText(message);
        
    }
}

El source del ejemplo FlashDetect.tar.gz y les dejo el APK para instalarlo en su dispositivo y muy útil para conocer la versión del flash que tiene instalada ( FlashDetect.apk )

@papachan

Publicado en Android | Tagged , , | Dejar un comentario

Instalación del Blackberry Tablet OS SDK en Adobe Air para Playbook

En este tutorial les vamos a explicar como instalar el SDK de Blackberry OS para Tablets en su Flash Builder 4 , de preferencia usar Adobe® Flash Builder® “Burrito” ya que viene con las configuraciones especificas para aplicaciones en dispositivos móviles. También se necesita crear una maquina virtual para poder instalar el emulador y visualizar sus proyectos en una tablet Blackberry OS.

– Bajar el The BlackBerry® Tablet OS SDK Beta 2 for Adobe® AIR®http://us.blackberry.com/developers/tablet/adobe.jsp )
– Para instalar el simulador del BlackBerry PlayBook tablet se necesita instalar vmware ( https://www.vmware.com/tryvmware/?p=player&lp=1 ) un software de virtualización

Para poder confirgurar el BlackBerry PlayBook Simulator v0.9.3 Beta les recomiendo este tutorial de Blacberry Developers ( Configure_VM_BB_tablet_simulator_1347134_11 )

Una vez instalados ya podes crear un nuevo proyecto en Air con ActionScript 3 y con el nombre que quiera. Y en los settings del proyecto apuntar al BlackBerry SDK.

Compilar ahora su aplicación en el Flash Builder 4 o Flash Hero Burrito, ejecutar “Run Configurations”

Lo encontrarán en Run > Others …

En la lista seleccionar  Blackberry Tablet Air Application como en el imagen y pulsar el botón situado en la parte superior, identificado con una hoja blanca y un símbolo “+” amarillo, para crear una nueva configuración de ejecución.

Allí debemos seleccionar el proyecto que vamos a ejecutar, por defecto se seleccionará el Application File principal del proyecto, y el resto de las configuraciones se establecerán por defecto.

En la sección Deployment debemos seleccionar los siguientes valores para cada ítem:
Deployment method: Install and launchTarget IP: El IP correspondiente al simulador corriendo en VMWare, ver en el instructivo de instalación del simulador cómo obtener el IP.
Device Password: La contraseña que se asigno al configurar el simulador en modo developer.

Luego presionar el botón “Apply” para confirmar los cambios y luego RUN para ejecutar la aplicación en el simulador.

Van a  a ver que ya al exportar su aplicación se va a empacar en un archivo .BAR  listo para ser testeado en el Blackberry Tablet Simulator virtualizado con vmware. El launcher va a buscar la IP del simulator y ejecutar adentro el programa. Van a poder ver una ventana AIR dentro de la pantalla del tablet BlackBerry con un Hello World.

Aquí les dejo un ejemplo de clase ActionScript Helloworld.as que puede ser integrada a su primer proyecto.

@papachan

y gracias Mariano @Kiwox Carrizo por los aportes!

Publicado en Adobe Air | 1 comentario

Instalación del Air SDK para Android

A la hora que Adobe nos cocina el Flash Hero Burrito tenemos que tener listo el SDK de Air para Probar en un dispositivo virtual o en el mismo dispositivo conectado por cable USB a la computadora.

Primero antes que todo, asegurarse que todo esta instalado:

Android AVD Manager
– el instalador del Android SDK más reciente con el AVD manager
http://developer.android.com/sdk/index.html
– Asegurarse que tienes la buena versión de java en su maquina. Java Development Kit 5 o 6. ( control de la versión ejecutando java -version en una ventana de commando)
– Ejecutar el instalador installer_r08-windows.exe ( si se bajaron el zip ya tienen el AVD manager con los tools que necesitamos sino siguen el proceso de instalación de android ) Esto permite instalar el ADT plugin para ECLIPSE, ( en nuestro caso con AIR no necesitamos publicar a traves del Android SDK sino a través del ADT de AIR sdk con Flash Builder )… Pero podemos preparar una ruta para un Eclipse (en mi caso C:\dev\eclipse-galileo_3.5.2\ ) que se puede usar en caso que quieran desarrollar con Java.

Bajar el Flex SDK y el AIR sdk
Ya dispones del Flash Builder con Flex ( si no es el caso, busca el instalador de Flash Builder o simplemente installes el TRIAL https://www.adobe.com/cfusion/tdrc/index.cfm?product=flash_builder )
Para tener el sdk bien ordenado, de preferencias sugiero que instales el SDK para AIR en una ruta accesible como C:\ sdk\flex_4.1_sdk_air_2.5 \
• Primero se baje el SDK de Flex
http://www.adobe.com/products/flex/#sdk
lo vas a encontrar en el enlace que dice Get the open source Flex SDK
• Luego se baje el SDK de AIR:
http://www.adobe.com/products/air/sdk/
Una vez que tienes los dos ZIP en un lugar de tu disco, haces un merge de los dos contenidos, haciendo Drag de todo el contenido de la carpeta del AIR SDK en la del FLEX SDK. Los archivos para AIR se van a agregar automáticamente.

- Ahora abris el Flash Builder, o el Eclipse ( en caso del Plugin para Flex ) y podes configurar el ADT con el SDK del Flex4 bajado que esta ahora con AIR. Vas a Preferences y seleccionas el FlashBuilder > Installed Flex SDKs.
Agregas un nuevo Path a los SDKS : C:\ sdk\flex_4.1_sdk_air_2.5
Le das un nombre por ejemplo: flex_sdk_4.1_android.

- Creas un nuevo proyecto en Air, vas a Project properties, y seleccionas el SDK con cual queres que compile este nuevo proyecto. Le das Acceptar.

Y luego abris el manifest.xml del proyecto por ejemplo Airmobile-app.xml Asegurarse que quede bien apuntando a 2.5, y que sea mobileDevice en supportedProfiles.

<?xml version="1.0" encoding="utf-8" standalone="no"?>
  <application xmlns="http://ns.adobe.com/air/application/2.5">
    <id>AirMobile</id>
    <filename>AirMobile</filename>
    <name>Air  Mobile</name>
    <versionNumber>1.0.0</versionNumber>
    <supportedProfiles>mobileDevice</supportedProfiles>
    <initialWindow>
    <content>Airmobile.swf</content>
    <visible>true</visible>
    <autoOrients>true</autoOrients>
    </initialWindow>
</application>

Luego abris el archivo .mxml de tu proyecto y remplaza la etiqueta <WindowedApplication> por <Application>, F11 y ya tienes el swf que se compila, y se muestra en una ventana de tamaño pantalla mobile.

Tenemos que compilar el APK por línea de comando con el ADT del flex que se encuentra en la carpeta BIN del flex_ sdk, asegúrate que lo ejecutas desde la línea de comando :

$ adt -version

Por lo del certificado, se trata de un archivo de tipo pfx que puede ser generado desde el mismo adt del flash builder

$ adt -certificate -cn "name" 1024-RSA nombre.p12 [mi-password]

Se puede copiar nuestro certificado en la carpeta bin del sdk, donde copiamos también nuestro swf para evitar los paths redundantes, asi compilamos todo desde bin:

$ adt -package -target apk-emulator -storetype pkcs12 -keystore nombre.p12 -keypass [pwd] output.apk Mimanifesto-app.xml Mipeli.swf assets/images/splash_screen.png assets/images/launchpad_home.png

Ahora queda en configurar un nuevo AVD con Android 2.2:
Abrimos el AVD manager y dejamos que se ejecuten las actualizaciones de Android. Podes elegir “update all” se va a demorar un poco, pero todas las APIS para el emulador se van a descargar e instalar. Adobe Air funciona a partir del 2.2 ósea la API 8. Asi que usaremos esta API para crear nuestro emulador. Se va a instalar los drivers USB que vamos a necesitar para conectar el dispositivo. Y los Android Platform Tools, que son indispensable para la comunicación con el emulador o los devices conectados.

Se necesita crear un nuevo AVD. Luego que lo creamos lo lanzamos con el Boton “Start” desde la lista de los AVD.
Luego abrimos el CMD con el console y escribimos:

$ adb start-server
$ adb devices

Esta línea permite detectar los dispositivos conectados y lanzar el Daemon para comunicar con ellos.
Si tienes el APK de AIR Runtime para el emulador, tíralo en la carpeta de platform-tools, tira también el APK del archivo compilado con el ADT del flex sdk.
En la ventana command pones:

$ adb install Runtime.apk
$ adb install [nombre-de-mi-aplicacion].apk

Si tienes un solo dispositivo conectado, el adb lo va a instalar automáticamente en el que está abierto, va a poder ir a la pantalla del emulador y abrir los programas instalado, y vas a encontrar tu programa.
Obviamente todos estos pasos hacen un poco largo el desarrollo con Air en Android. Pero con el próximo Flash Hero “Burrito” se vienen mas cambios sobre todo en la configuración del Proyecto Air para algún dispositivo target. Y se vienen cambios también en las librerias del SDK, por ejemplo el mxml desde ya se abrirá directemente con la etiqueta <MobileApplication> y la nueva integración de <TabbedMobileApplication>.

Si estas usando el Flash cs5 por ejemplo existe un emulador android para Air. Lo podes Bajar desde aquí=
http://labs.adobe.com/downloads/flashpro_extensionforair.html

Publicado en Android | Dejar un comentario

Como instalar Air en un dispositivo Android

Si ya dispones del Android AVD manager lo podes instalar directamente a su dispositivo usando el driver USB. Pero si lo queres instalar a través del Market la url para la descarga es la siguiente: http://www.appbrain.com/app/adobe-air/com.adobe.air ) pero no es la versión del Air Debugger, no va a ser posible el modo de depuración en Runtime.
Los pasos a seguir para instalar el Air Debugger  en el dispositivo:
– Tener el AVD Manager con los Platform Tools instalando el USB Driver para Windows ( http://developer.android.com/sdk/win-usb.html )
– Luego asegurarse que funciona bien el Android Debug Bridge ( adb )
que se encuentra en la carpeta platform-tools en la carpeta donde esta instalado el AVD.  Abrimos una ventana Command y ejecutamos la linea siguiente:

$ adb –version

– Conecta el dispositivo por USB y lanza el daemon

$ adb devices

Si sale el dispositivo en la lista, quiere decir que ya está reconocido por el Android Debug Bridge
– En el SDK de air ( la última versión se baja de la pagina de adobe http://www.adobe.com/products/air/sdk/ ) vas a encontrar el Air Runtime APK para emulador o device. Copia el APK de la carpeta Device y ponelo al mismo nivel donde esta el ADB en platform-tools.
Luego ejecuta la línea siguiente:

$ adb -s [deviceID] install Runtime.apk

El Air debería instalarse solo en su dispositivo, ya se puede recibir cualquier APK proveniente del Air SDK con la posibilidad de depuración, es decir imprimir los mensajes del método trace.

Publicado en Android | Dejar un comentario

Google devfest 2010 buenos aires

Volvimos del Google Devfest, el primer día fue dedicado exclusivamente a la tecnología Android. El evento se hizo en el edificio de la UCA ( Universidad Catolica ) de Buenos Aires, al borde del río en Puerto Madero, en un cuadro realmente agradable con una vista al río, y frente a numerosas torres modernas del otro lado.

Vinieron varios ingenieros, parte del equipo de Google Android :  Billy Ruthledge, Tim Bray, Fred Chung. Y nos hablaron a fondo del sdk de android, de los tips, las preocupaciones que debe considerar cada desarrollador. Cerca de 200 personas a la maniana, asistieron al bootcamp donde se lanzó un challenge para conectar una base de datos sqlite en una aplicacion android. Terminaron 13 personas en solo 20 minutos y uno solo fue eligido por sorteo y se llevó un lego mindstorms nxt kit.

A la tarde la asamblea se convirtió en unas 700 personas para las charlas de Tim Bray y Fred Chung. El evento estuvo bueno, regalaron obviamente remeras y para algunos, robotitos.
No hubo demostración de dispositivos, a penas nos mostraron el Samsung Tab Galaxy.



La vista al rio para el google devfest 2010

Publicado en Eventos | 3 comentarios
  • Facebook AndroidCol