tus camisetas frikis en camisetafriki.com

Archive

Archive for the ‘Android’ Category

Android: Cómo encender o apagar el wifi desde la consola

November 16th, 2012 No comments

Una de las condiciones necesarias para que tu aplicación Android sea awesómica, es que debe detectar correctamente cuando pierde la conexión o cuando ésta vuelve y reaccionar en consecuencia, ya sea mostrando un aviso al usuario o poniendo en cola las peticiones web que vayamos a hacer. Y hay veces que tenemos que probar esta circunstancia pero no queremos salir de la actividad para no provocar eventos onPause/onResume, etc.

Para conseguir esto podemos preparar un BroadcastReceiver que se encargue de cambiar el setting del wifi ya sea a encendido o a apagado en función de un extra que pasaremos en el intent que enviemos por broadcast, éste receiver cogerá el intent y cambiará el estado del wifi, lo que provocará que Android envíe otro broadcast indicando que ha habido un cambio en la conectividad. (Para saber como recibir este intent lo puedes leer aquí http://developer.android.com/training/monitoring-device-state/connectivity-monitoring.html

1
2
3
4
5
6
public class ChangeWifiState extends BroadcastReceiver {
    public void onReceive(Context c, Intent intent) {
        WifiManager wfm = (WifiManager) c.getSystemService(Context.WIFI_SERVICE);  
        wfm.setWifiEnabled(Boolean.parseBoolean(intent.getStringExtra("wifi")));
    }
}

Después lo declaramos en el AndroidManifest.xml junto con el permiso de cambiar el estado del wifi. Como hace falta un permiso para hacer esto, puede que no quieras ponerlo en tu aplicación sino en otra aplicación que tengas instalada y uses para pruebas. Por eso ponemos el atributo exported=”true”, para poder usarlo desde otro aplicación.

1
2
3
4
5
6
7
<receiver android:name="ChangeWifiState" android:exported="true" >
    <intent-filter>
        <action android:name=">WifiChange" />
    </intent-filter>
</receiver>
 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

Y ya está todo el código necesario, ahora, con el teléfono conectado, podemos usar adb para enviar un intent a ese receiver con el parámetro Wifi puesto a true o false para encender o apagar la conectividad wifi respectivamente, y android enviará el broadcast con el action CONNECTIVITY_CHANGE y podremos ver si lo estamos manejando correctamente o no en nuestra aplicación.

El comando que tenemos que poner en la consola es el siguiente:

adb shell am broadcast -a WifiChange -c android.intent.category.DEFAULT -n com.your.packageName/.ChangeWifiState -e wifi [boolean]

donde:
-a define el Intent Action
-c define la categoria del intent
-n define la clase que recibe el intent
-e el extra y su valor
[boolean] puede ser true o false.

También publicado en Google Plus https://plus.google.com/110502863648146989289/posts

Categories: Android, Programacion Tags:

6 libros imprescindibles para desarrollar en Android

June 11th, 2012 No comments

Aunque en internet hay muchísimos recursos gratuitos así como foros y blogs donde aprender a resolver esos problemas que encontramos cuando desarrollamos en Android, nunca viene mal tener un libro a mano, escrito por expertos, donde se describa con mayor profundidad algunos de los aspectos más complejos de la plataforma Android.

Según mi experiencia como desarrollador, éstos son algunos de los libros que más útiles me han parecido a la hora de aprender sobre esta tecnología, todos en sus últimas ediciones (todas ellas en inglés).

Professional Android 4 Application Development (Wrox Professional Guides)

Reto Meier es un tech lead en el equipo de relaciones con desarrolladores android en Google y este es su tercer libro sobre Android, actualizado también a la versión 4 Ice Cream Sandwich, en su libro nos cuenta de primera mano las mejores prácticas para desarrollar en esta plataforma y cubre temas tanto básicos como avanzados, por ejemplo NFC y wifi direct, drag and drop, animación avanzada y una pequeña guía sobre como marketizar tus apps entro otros temas interesantes. Sin duda una buena compra.


Pro Android 4 (Apress)
Si ya tienes un nivel decente, en este libro te cuentan todo lo que necesitas saber sobre Android hasta la versión 4, incluyendo la action bar y los fragments introducidos en la versión 3 de Android, sin olvidar los temas básicos como intents, content providers, diálogos, y otros más avanzados como son las preferencias, multithreading, broadcasts, widgets, animación 2D y por supuesto sensores, localización y mapas. También existe una versión para principiantes que se llama Beginning Android 4 (Beginning Apress)


Android in Practice
Este libro, al contrario que los demás, es más bien un libro de recetas de Android, no te enseña a programar para Android sino más bien a cómo usar bien lo que Android te da. Digamos que el SDK te ofrece unas herramientas para hacer tus apps pero con este libro las usarás de la mejor manera posible y respetando las buenas prácticas. Su autor es el creador de la app Qype Radar entre otras y es muy recomendable para sacarle el máximo jugo a la plataforma de desarrollo.


Android Programming Tutorials
Commonsware ha sacado 3 libros pero no son libros comunes, por 40$ al año tienes tienes una suscripción a la última versión de sus libros con ejemplos básicos y avanzados y tutoriales sobre android siempre con lo ultimísimo que haya salido. Además, ofrecen gratis aquellas versiones de los libros que hayan vendido 4000 copias o tengan más de 4 años. Lo encontrarás en commonsware.com y si quieres la versión impresa los puedes encontrar en amazon en formato impreso.


Android Cookbook

Y hablando de recetas, O’Reilly tiene un wiki sobre android que también está lleno de recetas para hacer cosas concretas en android como por ejemplo, integrar twitter y facebook, bluetooh, sensores, juegos, bastante más básico que los demás pero mantenido por la comunidad. Lo puedes ver online en http://androidcookbook.com/



Beginning Android 4 Application Development

Este es un libro para empezar, cubre los aspectos más básicos para empezar a desarrollar con Android incluyendo servicios, geolocalización, networking… así como ejercicios para hacer por el lector.


Horarios de trenes FEVE para Android

January 21st, 2012 No comments

Hace unos días publiqué otra aplicación hecha por mi en el Android Market, es muy sencilla y la hice en 3 o 4 días y sirve para comprobar los horarios de los trenes de FEVE. La hice más que nada para mi, que cuando voy a Santander algún fin de semana o en vacaciones, me muevo con trenes de FEVE entre Astillero y Santander, y echaba de menos una aplicación Android para consultar los horarios, ya que FEVE no dispone de versión móvil de su web ni de aplicación para estas consultas.

FEVE app Android

La aplicación en sí no tiene misterio, presenta un formulario con dos campos de texto con autocompletar y botones para invertir el recorrido o consultar el horario entre las estaciones elegidas. Accedo a la web de feve.es para obtener las estaciones y guardarlas en la aplicación parseando la web con la librería Jsoup, luego las empleo para los cuadros de autocompletar y, del mismo modo, cuando el usuario hace click en consultar, llamo a la página web y parseo la tabla de resultados para mostrarla en un listado.

Si veo que la usa bastante gente planeo ponerle una opción para meter los recorridos en favoritos y otra para establecer una alarma que te avise de que queda poco tiempo para que pase el tren que quieras que te avise.

Puedes descargarla haciendo click en el siguiente enlace o escaneando el código QR:

Categories: Android Tags:

Review Galaxy Nexus

January 16th, 2012 7 comments

Galaxy Nexus es el nuevo buque insignia de Google y ha llegado a España recientemente de la mano de Vodafone en exclusiva hasta Marzo.

Cómo no podía a esperar para tenerlo libre busqué en internet sitios donde comprarlo libre y tras ver unos precios desorbitados, encontré el terminal en la web de Amazon de Alemania a un precio más o menos asequible.

He de decir que estoy impresionado con el terminal. Tiene un acabado precioso, sin botones físicos en la parte delantera y una superficie ligeramente curvada. Es realmente fino y se coge con facilidad.

Además, trae la última versión Android, el sistema operativo de Google, Ice Cream Sandwich, el cual trae un montón de mejoras como el desbloqueo facial, un completo rediseño de la interfaz entre otras muchas cosas más.

Puedes leer una review completa que hice para el blog 120linux pero si lo que quieres es comprarlo ya mismo, me haces un favor si lo compras con el link de abajo :) Realmente vale la pena este teléfono que no deja de soprenderme cada día (ahora mismo lleva 51 horas funcionando sin cargar)

Categories: Android, Tecnología Tags: ,

Algunas configuraciones de dispositivos para probar layouts en Android con ADT

March 31st, 2011 2 comments

Esto puede ser útil a las personas que estén desarrollando aplicaciones para Android.

He creado algunas configuraciones para probar los layouts con la versión 0.10 del plugin ADT para Eclipse, para ver como queda la interfaz de usuario con distintas resoluciones de pantalla. Las he creado para el EVO 4G, Galaxy TAB de 7 pulgadas, de 8.9 pulgadas y para el motorola Xoom de 10.1 pulgadas, además, he creado una nueva para el Nexus One.

Las puedes ver haciendo clic en la imagen siguiente

ADT Device configurations

Categories: Android, Programacion Tags:

Megacomparativa 8 tabletas

March 14th, 2011 No comments

Cogiendo un par de imágenes de skattertech.com he confeccionado esta lista con los 8 tablets principales que están por salir:
-Samsung Galaxy Tab 10.1
-Apple iPad 2
-HP Touchbook
-LG G-Slate
-Blackberry Playbook
-Dell Streak
-iPad
-Motorola Xoom

Categories: Android, Tecnología Tags: ,

Mock Locations, mi primera aplicación Android

March 8th, 2011 5 comments

Al final he conseguido aprender Android y desarrollar mi propia aplicación para lanzar en la tienda de aplicaciones, cuya finalidad es poder probar otras aplicaciones que necesiten geolocalización, ya que lo principal función de mi herramienta es simular la posición del GPS para que las aplicaciones crean que estás donde tu quieras, y no sólo posiciones estáticas, sino que además puedes simular una ruta que cambie de posición a lo largo de sus puntos a intervalos, y éstas rutas pueden ser tanto buscadas al momento empleando el cálculo de rutas de Google Maps como guardando archivos KML en la tarjeta de memoria y cargándolas desde la aplicación.

Algunos malhechores también pueden usarla para engañar a foursquare o Google Places haciéndoles creer que están en otro lugar o engañar a la pareja/familia si éstos comparten su ubicación por Google Latitude ;)

La aplicación tiene anuncios de AdMob pero planeo sacar una versión de pago sin anuncios a ver que tal se da, pero al ser una aplicación más pensada para desarrolladores no tiene mucho público objetivo.

Os dejo una captura y espero que la disfrutéis!

INSTALAR

mock locations screenshot

Categories: Android Tags:

Nokia se pasa a Android, finalmente

December 28th, 2010 No comments


Pues si, al final los directivos de Nokia, ante los pésimos resultados que ha tenido este año, en el cual Apple y Android se han hecho con la mayor parte del mercado de sistemas operativos móviles y que además, tras la renuncia de varios directivos y que además ha tenido que recortar 800 puestos de trabajo en Finlandia, se han decantado por cambiar de sistema operativo y abandonar MeeGo en virtud de Android, lo que supondrá un ahorro en desarrollo de un 30% y que permitiría a Nokia disfrutar de un mercado de aplicaciones ya maduro y bastante poblado y casi inmediatamente, para ello, Nokia ha lanzado un comunicado de prensa ayer, en el que anunciaba por sorpresa el primer terminal con Android, y para no ser menos, ya trae de fábrica Gingerbread (Android 2.3) como podemos ver en el siguiente vídeo:

Esperamos que con este movimiento, Nokia recupere parte del mercado en terminales de gama alta ya que como sabemos, son los mejores haciendo hardware pero se estaban quedando atrás en cuanto a software.
Bien por Nokia!

Actualización: Bueno como os imaginaríais, esto era una inocentada del 28 de diciembre, pero esperemos que suceda algún día!

Categories: Android, Tecnología Tags:

Android dev: Abrir Google Navigation mediante Intent

December 23rd, 2010 5 comments

Un snippet muy práctico, para abrir Google Navigation con el destino que nosotros queramos, desde nuestra ubicación actual, con indicaciones habladas, vista oblicua e información del tráfico, mediante un intent:

1
2
3
4
5
//point es del tipo GeoPoint
String location = (point.getLatitudeE6()/1E6)+","+(point.getLongitudeE6()/1E6);
Intent i = new Intent(Intent.ACTION_VIEW,
Uri.parse("google.navigation:q="+location));
context.startActivity(i);

Google Navigation

Categories: Android, Programacion Tags: ,

Esto con Android no pasa!

December 14th, 2010 No comments

Esto con Android no pasa
Miniactualización!

He creado en Facebook una página donde voy colgando enlaces a noticias, aplicaciones, imágenes divertidas, etc. sobre móviles en general y Android en concreto. La coña surgió como siempre comparando las características de iPhone y las del Nexus One, y de vez en cuando salía la frase “esto con Android no pasa!” refiriéndome a determinadas cosas que pasan en iOS y no pasan en Android.

La puedes encontrar aquí:
Esto con Android no pasa

Categories: Android, Tecnología Tags: ,