martes, 28 de agosto de 2012

Extras de la cámara disponible en México

Por fin ha aparecido la App Extras de la Camara en el Nokia Collection del Marketplace. Al menos para  los Lumia 710 con Windows Phone 7.5 Tango (8737) de Telcel en Mexico. Simplemente hay que hacer  una de las cosas siguientes:


  • Buscarla en el Marketplace como "extras de la camara"
  • Entrar en el Nokia Collection, seleccionar cualquier App, en los detalles tocar la opción "Mas Aplicaciones de Nokia Corporation" y hasta el final deberia aparecer.

O la opción mas fácil de todas...
  • Oprimir el botón físico de la Lupa de nuestro Windows Phone, tocar el icono del Vision (el ojo) y apuntar a la siguiente imagen:


lunes, 23 de julio de 2012

Como crear una ventana de EULA, términos o disclaimer en Android

Después de muchas horas de arduo trabajo llega el ansiado momento de liberar la primera versión de nuestra aplicación al publico. Es en ese momento donde muchos desarrolladores concienzudos se plantean el agregar un mensaje para al usuario final el cual le comunique todos los detalles relacionados al uso de su aplicación.

Sin entrar en detalles acerca de los distintos tipos de Licencias de Software también conocidos como End User License Agreement (EULA), hoy les quiero compartir unas porciones de código que les ayudarán a implementar de manera fácil este tipo de "ventanas" que se muestran al inicio de nuestra aplicación y que solo aparecen una sola vez... claro si el usuario esta de acuerdo con todo.

Partiendo del supuesto de que ya se tiene una aplicación terminada, les compartiré únicamente las porciones necesarias que deberán añadir a su proyecto. Aquellos que quieran probarlo tambien lo pueden hacer, pero tendrán que crearse un proyecto con dos Activities al menos.

Paso uno

Antes de todo, deberán estar de acuerdo en que al usar las porciones de código aquí compartidas y todos los pasos que ahora llamaremos "El contenido", lo aceptan "COMO ES" y "SIN NINGUNA GARANTÍA" de que funcione, que quiza me falto algun import, o me falto aclarar alguna instrucción, variable... =D bueno ya, mejor vamos al paso uno.

Lo primero que haremos es sobrescribir el método onResume de la Activity donde queramos que se muestre el EULA, que generalmente es la primera o una de las primeras en mostrase al usuario. Para aquellos que no están familiarizados con dicho método solo les puedo decir que es parte del ciclo de vida de las aplicaciones Android y que se llama cuando nuestra App se vuelve la aplicación activa del usuario. Si ya lo tienen reescrito solo agreguen la linea que les falta.



Paso dos

Dado que no todos tenemos la facilidad y los conocimientos para escribir un EULA, les comparto la siguiente platilla EULA a la que solo le deberán poner el nombre de ustedes donde están los corchetes.

Plantilla EULA: Descargar
Pegar en:


Paso tres

Gracias al proyecto de código abierto de WordPress para android, he podido extraer la siguiente clase que nos permitirá crear ventanas (Dialogs) de forma muy sencilla. Tiene varios métodos útiles de los cuales solo usaremos uno. Quiza al integrar esta clase en su proyecto les resulte mejor modificar el package que tiene (com.blogger.innercode.myapp.helpers) por uno mas adecuado.

Clase AlertUtil.java: Descargar

Paso cuatro

Ahora si vamos a implementar el método processEULA(). A groso modo lo que hace este método es invocar otro método que le permitirá saber si debe mostrar el EULA, si es así entonces genera la ventana (Dialog) y le asigna el comportamiento a los botones de "Aceptar" y "Declinar".



Paso cinco

Para finalizar y evitar que nuestro IDE siga mostrandonos mas errores, es necesario implementar dos métodos mas que ya estamos usando en el código anterior.

Método: checkEULA
Descripción: Crea una tabla donde almacena una valor booleano que indica si se ha acetado el EULA o no.



Método: acceptEULA
Descripción: Actualiza el valor booleano de la tabla anterior para indicar que ya se ha aceptado el EULA.



¡Listo!

Ahora solo falta ejecutar. El resultado debe ser muy parecido al siguiente... se ve mas profesional nuestra app no?

miércoles, 2 de mayo de 2012

Windows Phone y JQuery Metro

El dia de hoy les traigo una pequeña prueba que he realizado con JQuery Metro. Se trata de unos archivos JavaScript y CSS3 que nos ayudan a dibujar una interfaz del tipo Metro, la cual es usada en Windows Phone y Windows 8. En esta prueba se va a tratar de imitar la aplicación del Hub de Contactos.

Archivos requeridos (descargar):


Primer paso

Lo que vamos a hacer es crear la siguiente estructura de archivos, donde agregaremos un archivo Index.html con la estructura básica y el body vacio. Ademas vease que ya agregamos los archivos que descargamos en una carpeta llamada lib.








Segundo paso

Ahora vamos a referenciar los archivos que hemos descargado añadiendo las correspondientes lineas de codigo en el area de head del Index.html.


Tercer paso

En el body agregaremos las siguientes instrucciones donde crearemos dos listas, una de Contactos y otra de Favoritos, cada una en un div diferente.


Resultado

Si seguimos los pasos correctamente veremos el siguiente resultado al abrir el archivo Index.html en nuestro navegador:



Hará falta que ajusten la ventana un poco para que se vea como en la imagen. Prueben dando click en Favoritos...

Este es un proyecto que se encuentra actualmente en desarrollo y que ya cuenta con mucha funcionalidad. Ademas provee la gran mayoría de los controles existentes para Windows Phone. Si no me creen vean el sitio del proyecto desde su Windows Phone (de preferencia) o navegador.

Aqui hay otro buen post acerca de lo mismo.

miércoles, 25 de abril de 2012

Cargar y mostrar imagen de la web en Android

El día de hoy les comparto dos formas de cargar una imagen desde la web. Ambas formas provienen de programadores que han querido compartir sus conocimientos, tiempo y experiencia, y que han compartido los codigos fuente de sus clases para cargar y mostrar imágenes desde la web en nuestro Android.

 Primera forma

Archivo: LoaderImageView.java
Autor: Blundell

Lo único que tenemos que hacer es


  1. Copiar el archivo LoaderImageView en nuestro proyecto o copiar el codigo y crear uno con el mismo nombre.
  2. Cambiar el "package" que apunta a uno que el autor definió como  package diablo.douban.common;  por el que corresponda a nuestra estructura de packages/carpetas. Con esto ya no marcará error.
  3. En la actividad donde deseamos cargar y mostrar la imagen agregamos las siguientes lineas de codigo




Segunda forma

La segunda forma es similar pero usando una tres clases muy bien hechas y que se recomienda sean utilizadas si se va a crear una aplicación para la Android Market que ahora se llama Google Play. Este grupo de clases trabajan en conjunto para cargar de manera asincrona una imagen, guardarla en cache/BD cierto tiempo y recuperarla de ahi hasta que expire el tiempo especificado (un dia, una semana, infinito, ect.) Este es uno de esos aportes que uno realmente agradece dada la calidad y esfuerzo requerido.

Archivos:

UrlImageViewHelper.java
UrlImageCache.java
SoftReferenceHashTable.java

Autor: Koushik Dutta

Descargar codigo fuente

Los pasos para hacer funcionar estas clases son prácticamente los mismo que el ejemplo anterior, la diferencia es que aquí necesitamos tres archivos de código y corregir los tres en su sección del package. Para usarlo hacemos lo siguiente:






Listo!

martes, 10 de abril de 2012

Crear conexion https selfsigned en Android

Una de las tareas mas laboriosas de investigacion y desarrollo es precisamente crear una conexion https en Android con un certificado Selfsigned donde a menudo cuando persiste el problema veremos la excepcion "javax.net.ssl.SSLException: Not trusted server certificate". Hay mucha información en foros pero lo cierto es que no siempre funcionan para todos las soluciones que se plantean. A continuacion muestro como lo he hecho yo.

Este post esta basado en: Este otro post de stackoverflow

Primer paso:

Descargar BouncyCastleProvider

Segundo paso

Pegar el archivo en la carpeta donde se encuentra el JavaRuntime "Java\jre6\bin" o el compilador de Java . Lo que interesa es que se encuentre el archivo keytool.jar que viene por defecto con Java.

Tercer paso

Abrir tu navegador preferido (Chrome, IE, Firefox, etc) y pegar en la barra de direcciones la URL a la que quieres conectarte (https). Da click ante cualquier botón de Aceptar/Continuar que te aparezca. Ahora veras que en la barra de direcciones a la izquierda o derecha (dependiendo del navegador) hay un candado o cerrojo.

Dar un click sobre el candado y luego dar click en la opción Datos del Certificado/Mostrar mas detalles.

Aparecerá una ventana y dependiendo del OS (Windows, Mac, Linux, etc) tendremos que buscar la opción que nos permita guardar el certificado. En el caso de Windows este botón se encuentra en la pestaña "Detalles" y el botón dice "Copiar en archivo...".

La siguiente serie de pasos de puede resumir en "Siguiente... Siguiente" hasta que les de la opcion de elegir el lugar donde se va a guardar el certificado.
Lo vamos a guardar en el mismo lugar donde pusimos el archivo de BouncyCastleProvider y le pondremos el nombre "certificate.cer" al guardarlo.

Cuarto paso

Abrir la consola/terminal y colocarnos en la carpeta donde guardamos el certificate.cer y el BouncyCastleProvider. Luego escribir o copiar (cuidado de no copiar los Enter porque no funcionará) la siguiente instruccion:



Si todo salio bien en la carpeta donde hemos guardado los anteriores archivos deberia existir ahora un archivo llamado "mykeystore.bks".

Quinto paso

Copiar el archivo y pegarlo en la carpeta "res/raw" de su proyecto Android. Si la carpeta raw no existe hay que crearla.

Sexto paso

Ahora lo que tenemos que hacer es que en nuestra aplicación, al crear la conexión se deberá cargar el archivo que hemos creado. A continuación proporciono una clase simple que deberán copiar a su proyecto.



Septimo paso

El paso final es que en su actividad hagan uso de la clase que acabamos de crear con las siguientes instrucciones:



Esto ha funcionado para mi y espero funcione para ti. Otra forma es usando EasySSLSocketFactory y aqui hay un post muy bueno acerca de como hacerlo funcionar Ver el post!

lunes, 2 de abril de 2012

Nokia Lumia 710 ya en Telcel

Finalmente ha aparecido uno de los Nokia Lumia tan esperados: el 710. Abajo podrán ver la imagen publicada en el portal de Tecel y el link para verlo.


Ir al link

Este Smartphone ha sido muy esperado sin embargo ya tiene mucho que salió (aproximadamente 6 meses) y es una pena que hasta ahora tengamos la posibilidad de obtener uno... mal por Telcel y Nokia.

miércoles, 28 de marzo de 2012

Activity a pantalla completa en Android

Algunas veces requeriremos de disponer de toda la pantalla (fullscreen) para mostrar nuestra Actividad (Activity). Para lograr esto solo es necesario agregar un par de lineas a nuestro código:

Podemos hacer exactamente lo mismo si añadimos una instrucción en nuestro archivo AndroidManifest.xml Por cualquiera de las dos formas obtenemos el mismo resultado.

lunes, 26 de marzo de 2012

Animaciones en Android

Para realizar una animacion en Android, lo mejor es definirla en un XML. El siguiente es un archivo llamado slide_bottom.xml que define una animación (movimiento) de totalmente abajo hasta arriba.


El siguiente paso es agregar un control a nuestro Layout (main.xml) para aplicarle la animacion.
Ahora lo invocamos desde una actividad

Ultimo paso: Ejecutar

Recomiendo que jueguen con los valores del archivo slide_bottom.xml. Es por eso que he puesto en cero algunos valores para que puedan modificarlos con facilidad.