En esta práctica implementaremos el cliente DeliciAM para teléfonos con sistema operativo Android. Con esto podremos aprender:
Para los primeros días, se han propuesto una serie de ejercicios básicos para familiarizarnos con Android, que no son entregables ni influyen en la nota de prácticas. Es muy recomendable seguir esta guía antes de enfrentarse a la práctica: Primeros pasos en Android.
La práctica entregable para este módulo será un cliente similar al ya realizado en Java SE. En este módulo se hace imprescindible la interfaz gráfica, y su intuitividad y facilidad de uso tendrá peso en la calificación.
Implementando la funcionalidad básica se puede alcanzar un máximo de (9) 10 puntos.
Se proporcionan el paquete am.oauth (en formato JAR) y su API correspondiente:
El uso de la clase OAuth ha cambiado ligeramente debido a las particularidades de la plataforma, en el Javadoc generado se explica paso a paso.
Para añadir el paquete JAR en un proyecto ya creado, se debe hacer lo siguiente:
Además, se deben incluir en el AndroidManifest.xml del proyecto las siguientes líneas:
dentro del elemento application:
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name="am.oauth.OAuthActivity"></activity>
<activity android:theme="@android:style/Theme.Translucent.NoTitleBar" android:name="am.oauth.OAuthDialog"></activity>
dentro del elemento manifest (para solicitar permiso de acceso a Internet):
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Por último,
(se deben copiar en la carpeta res/layout los dos ficheros XML que contiene este fichero zip: layout.zip)
se deben copiar en su lugar correspondiente dentro de la estructura del proyecto los recursos
contenidos en este fichero zip:
oauth-res.zip
Se puede conseguir hasta 1 punto más en total implementando una o varias mejoras, ya sea la indicada aquí o cualquier otra suficientemente justificable ideada por los alumnos:
Acceso a datos sensibles del usuario (claves OAuth) en memoria: (hasta 1 punto) Utilizando las claves OAuth del usuario, guardadas desde la sesión anterior, no es necesario que éste vuelva a identificarse con su nombre y clave de Yahoo! para poder acceder a sus datos en Delicious. Aunque un dispositivo móvil como un teléfono suele ser de uso personal, se puede aumentar la privacidad pidiendo siempre al inicio una contraseña con la que poder asegurar los datos: haciendo directa o indirectamente cifrado simétrico sobre el fichero de claves o simplemente para acceder a él.
Para desarrollar en Android, en la máquina virtual disponemos del SDK correspondiente a la API de nivel 3, un IDE (Eclipse) configurado especialmente para trabajar con Android y un emulador integrado en el mismo IDE.
Se debe entregar mediante el formulario al final de la página un fichero ZIP que contenga lo siguiente:
A las prácticas que no cumplan estos simples requisitos de entrega se les restará 2 puntos de la nota total del módulo.
El plazo termina el 6 de Abril a las 23:59.
El 7 de Abril, la clase de prácticas tendrá lugar en el aula de teoría (4.0.E.06), y cada grupo dispondrá de 5 minutos para hacer una presentación tipo comercial de su producto. Las presentaciones deben ser dinámicas y resaltar los puntos fuertes de la aplicación.