Empezando a construir tu primera aplicación en Sony SmartWatch 2 (sin emulador)

SmartWatch2

Versión Corta

[Un proyecto HelloWatch]. Ver por él.

Versión Larga.

Un poco de configuración básica.

sony addon

Si no lo tienes, ve a descargar el Sony SDK Add-on => Siguiendo estos pasos.

Localiza el SDK en tu computadora. Encuentra la locación del Administrador SDK de Android. En el mismo directorio debe haber un directorio llamado sdk. El Sony SDK Add-on debe de estar en /sdk/add-ons.

En el directorio del Sony SDK Add-on, encuentra la ruta /samples/SmartExtension.

Asegúrate de importar SmartExtensionAPIs y SmartExtensionUtils a tu espacio de trabajo en Eclipse.

Clic derecho en esos dos proyectos, ve a la opción “Properties“. En la sección “Android“, en el grupo de “Library“, marca ambos proyectos como “Is Library”.

***

Creando tu proyecto SmartWatch

No hay mejor manera de aprender que utilizando las clases necesarias mediante la creación de tu propio proyecto Hola-Mundo, basado en el proyecto HelloWatch proporcionado arriba.

Empieza creando una aplicación regular de Android (puedes elegir no agregando una Activity vacía).

En tu proyecto SmartWatch, ve a “Properties” – “Android” – “Library“, y agrega los dos proyectos mencionados arriba como librerías.

Hasta aquí la configuración básica ya esta hecha. Existen cuatro archivos de clases necesarias para ejecutar (mínimo) una aplicación para SmartWatch. En el caso del proyecto HelloWatch, tenemos

  • HelloWatchExtension
  • HelloWatchExtensionService
  • HelloWatchExtensionReceiver
  • HelloWatchRegistrationInformation

Lo siguiente explicara brevemente lo que hacen; el proyecto de muestra da ejemplos de implementaciones concretas.

Registro.

Registro provee la información necesaria durante el registro de la extensión. Se extiende de RegistrationInformation y contiene los siguientes métodos clave.

protected HelloWatchRegistrationInformation(Context context) {
}
@Override
public int getRequiredControlApiVersion() {
}
@Override
public int getRequiredSensorApiVersion() {
}
@Override
public int getRequiredNotificationApiVersion() {
}
@Override
public int getRequiredWidgetApiVersion() {
}
@Override
public ContentValues getExtensionRegistrationConfiguration() {
}
@Override
public boolean isDisplaySizeSupported(int width, int height) {
}

Receptor.

El receptor maneja los eventos de entrada ocurridas en el reloj. Extiende de BroadcastReceiver de Android. Todo lo que hace (mira el proyecto HelloWatch), es comenzar el servicio de la extensión (mira debajo).

@Override
 public void onReceive(Context context, final Intent intent) {
 intent.setClass(context, HelloWatchSenseExtensionService.class);
 context.startService(intent);
 }

Servicio.

Una vez transmitido, el servicio de extensión registra la aplicación en el reloj y lo ejecuta. Extiende de ExtensionService y contiene los siguiente miembros clave.

public static final String EXTENSION_KEY = "i.am.an.extension.key";
public HelloWatchExtensionService() {
 super(EXTENSION_KEY);
}
@Override
public void onCreate() {
 super.onCreate();
}
@Override
protected RegistrationInformation getRegistrationInformation() {
 return new HelloWatchRegistrationInformation(this);
}
@Override
protected boolean keepRunningWhenConnected() {
 return false;
}
@Override
public ControlExtension createControlExtension(String hostAppPackageName) {
 return new HelloWatchExtension(this, hostAppPackageName);
}

Extensión.

Extensión representa la aplicación en el reloj. En el proyecto HelloWatch de arriba, extiende a ControlExtension donde un control en el Sony SmartWatch es similar a una aplicación en el smartphone. Una extensión puede ser tan simple como no contener casi nada.

AndroidManifest.xml

Cuento las clases están hechas, el siguiente paso es el AndroidManifest.xml.

Primero , necesitamos agregar una linea especificando los permisos de usuario.

<uses-permission android:name="com.sonyericsson.extras.liveware.aef.EXTENSION_PERMISSION"/>

Entonces necesitaremos agregar dos elementos debajo de <application>:

<service android:name=".HelloWatchExtensionService" />
<receiver android:name=".HelloWatchExtensionReceiver">
 <intent-filter>
 <!--  More stuff here. See the HelloWatch project -->
</intent-filter>
 </receiver>

Recursos.

Finalmente, tu puedes notar algunos recursos perdidos de los errores en las clases. Todo lo que necesitas hacer es crearlos (por ejemplo, copiando esos recursos desde el proyecto HelloWatch).

Okey. Por ahora, eso debería ser bueno para comenzar a desarrollar.

android dev

—-

Entrada original: http://xiangchen.me/blog/?p=2214

To-Do: Agregar proyecto para descarga.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s