jun 21 2012

Filtrar listas en Android

Hoy os traemos un pequeño tip para implementar en nuestras apps que seguro os será de utilidad a más de uno. En muchas aplicaciones actuales ya podemos encontrar el típico input text en la parte superior que nos sirve para realizar búsquedas sobre la lista actual mostrada y que estas búsquedas se apliquen en tiempo real filtrando los resultados del listado. Pues a bien a continuación os mostramos el código de ejemplo para tal menester. El algoritmo no tiene mayor complejidad, tan solo configuraremos un listener que responderá a los cambios de texto en el input text recargando el adapter de la lista con los nuevos datos:

Continuar leyendo

jun 14 2012

Google TV – El SmartTV de Google (GTUG Barcelona)

Hace ya un par de años, allá por mayo 2010 en el Google I/O, se presento Google TV y aun sigue siendo prácticamente un desconocido para todos nosotros. Llevaba tiempo queriendo ver uno de estos dispositivos de cerca y ver sus virtudes o defectos de una manera más directa, así que cuando el GTUG Barcelona anuncio una ponencia con demo incluida no me lo pensé.

Para los que aún no sepan de que le hablo Google TV no es mas que una implementación más de esto que ahora se empieza a ver cada vez más y llaman Smart TV o Televisión inteligente. Esto no es otra cosa que integrar el mundo de la televisión, internet y las Apps en una única plataforma. Os dejo un par de videos para ir abriendo boca:

 

 

Continuar leyendo

jun 12 2012

OSMDROID – Mapas offline con OpenStreetMap (OSM Parte II)

Si una carencia hay que destacar de la API de Google Maps es el poder incluir mapas offline en nuestras apps, de hecho hasta hace poco ni siquiera en la app oficial se podía y ahora que si se puede espero que sea un indicativo de que en un futuro disfrutaremos de esta funcionalidad en la API. Pero como no nos gusta esperar y como no hay que limitarse a una única opción hoy os venimos a contar la características mas interesante de OpenStreetMap y de la librería que nos atañe, los mapas offline en OSMDROID.

 

 

Continuar leyendo

jun 11 2012

OSMDROID – Introducción a OpenStreetMap en Android (OSM Parte I)

Multitud son las apps que pueblan Google Play que hacen uso de la integración de mapas en ellas y multitud de ellas, por no decir la inmensa mayoría las que hacen uso de Google Maps (en un post anterior os contabamos como usarlo) para este menester. Esto es normal teniendo en cuenta la integración del Google Maps con el SDK de Android y la fama que precede a este servicio, usado ya por miles de personas. ¿Pero es la única alternativa? ¿Es la mejor? ¿Ofrece todo lo que necesitamos? Pues no, no es la ultima alternativa y en cuanto a las otras preguntas dependerá de cada caso.

Una de estas alternativas con ciertas ventajas sobre Google Maps es OpenStreetMap un servicio de mapas de creación comunitaria, al estilo de Wikipedia. El problema es que, evidentemente, su integración con Android no es tan buena como en aquel y no existen librería oficial para tal menester, teniendo que recurrir a librería de terceros.

En este caso os presentamos OSMDROID una librería que nos ayudara a incluir estos mapas en nuestras apps, ahh y se me olvidaba, ¡permite mapas offline!

Continuar leyendo

jun 01 2012

C2DM – Notificaciones Push (Parte II)

En un post anterior hicimos una introducción a las Notificaciones Push y como enviar estas desde servidor. Hoy, como os prometimos, nos centraremos en preparar nuestras apps para recibirlas y tratarlas como mas nos convenga.

 


Continuar leyendo

may 31 2012

Monetizando – Introduccion a In-App Billing

A la hora de monetizar nuestras app existen varias alternativas, apps de pago, inclusión de publicidad, pagos in-app, subscripciones. La elección de que método elegir a la hora de sacar provecho económico a nuestros desarrollos dependerá en gran medida del desarrollo en si y del público objetivo al que vaya destinada la misma y por tanto no es posible a priori decantarse por ninguna en concreto.

 

En este post nos centraremos es exponer las características, requisitos y posibilidades de los pagos in-app o In-App Billing (de ahora en adelante IAB).

 

Continuar leyendo

may 30 2012

Apache Commons FTP – Subiendo archivos a servidores

Últimamente estamos viendo diversos tutoriales de como consumir datos de una web o web service, en esta ocasión lo que vamos a plantear es la otra cara, subir archivos a un servidor.

Esta tarea que puede hacerse de muchas y diferentes maneras, en este tutorial vamos a hacerlo mediante FTP, de una forma práctica y realmente sencilla.

Lo primero que vamos a destacar es que nos apoyaremos en una de las joyitas que puede encontrarse por ahí a nivel de librerías, para esta ocasión usaremos la Apache Commons FTP.

Continuar leyendo

may 29 2012

C2DM – Notificaciones Push (Parte I)

Cuando creamos apps que consumen datos de la nube debemos encontrar el compromiso entre la actualización de datos y el consumo de batería. Cuanto más sincronicemos nuestros datos más actualizados estarán pero mayor será el consumo de batería y esto es un problema en terminales portátiles. Teniendo en cuenta que muchas de estas sincronizaciones serían relativamente inútiles puesto que cabe la posibilidad de que los datos no hayan cambiado y la hayamos realizado sin necesidad se plantea otra alternativa, las notificaciones push.

A diferencia de lo que explicábamos, en este caso es el servidor el que nos comunica de los cambios en los datos y por tanto solo en estos casos sincronizaríamos nuestra app. Para este menester Google nos proporciona un servicio completamente integrado con su plataforma Android, Cloud to Device Messaging (C2DM).

En este post os daremos unas pinceladas del modo de funcionamiento de este servicio para posteriormente en un siguiente post explicaros como tratar estas notificaciones desde nuestro terminales Android.

 
Continuar leyendo

may 16 2012

Tutorial: Desarrollar en varios Equipos y no morir en el intento.

Hoy os quiero contar como podeis configurar vuestro ordenadores de desarrollo sin necesidad de desinstalar las Apps cada vez las quereis depurar.

Imaginaros que tenéis un ordenador portátil, un sobremesa y terminal Android y que desarrolláis tanto en el Sobremesa como en el Portátil, que el lo que sucede, pues bien, cada ves que instaláis en un ordenador la SDK de Android, está genera un clave de cifrado de desarrollo única para cada equipo, con la que más tarde el debugger firmara la App antes de hacer el deploy al terminal. Con este escenario, nos encontramos con el problema de que cada vez que queremos depurar la App en alguno de estos equipos, necesitamos desinstalarla ya que las firmas son diferentes.

La solución es asignar a todos vuestros ordenadores en mismo debug.keyestore, para hacerlo seguir estos pasos:

Accedéis a Eclipse, al menú Windows > Preferences

 

 

Una vez aquí, accedéis mediante el árbol de la izquierda a Android > Build

 

 

Como podéis ver en la imagen, en esta pantalla nos dice donde está alojado el fichero que generó la instalación de la SDK, ahora solo tendremos que ir a esa ruta y copiarlo en todos nuestros ordenadores, después solo tendréis que acceder de nuevo a esta pantalla e indicarle en el campo “Custom debug keystore” la ruta completa al fichero que habéis copiado.

Decir adios a la desinstalación de la Apps, nunca más.
 

may 11 2012

Consumir datos de una URL en Android

Hace poco os contabamos como consumir servicios web soap, pero a veces estos datos estan alojados directamente en una URL con texto plano o queremos consumirlos directamente del interior de un HTML. A Continuacion os dejamos un pequeño tip de como extraer los datos de una URL y almacenarlo en un String para su posterior procesado:

 

public String readURL() {
	StringBuilder builder = new StringBuilder();
	HttpClient client = new DefaultHttpClient();
	HttpGet httpGet = new HttpGet("https://www.ingens-networks.com/secure/vinosyanadas.services/webservice.asmx/GetData?VersionID=1");
	
	try {
		HttpResponse response = client.execute(httpGet);
	
		StatusLine statusLine = response.getStatusLine();
	
		int statusCode = statusLine.getStatusCode();
	
		if (statusCode == 200) {
			HttpEntity entity = response.getEntity();
			InputStream content = entity.getContent();
			BufferedReader reader = new BufferedReader(new InputStreamReader(content));
	
			String line;
			while ((line = reader.readLine()) != null) {
				builder.append(line);
	 		}
		} else {
			Log.e(JsonTestActivity.class.getName(), "Failed to download data");
		}
	
	} catch (ClientProtocolException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}
	
	return builder.toString();
	
}

 

ACTUALIZACION: Si no se llama al response.consumeContent() al terminar con el InputStream, dejas la conexión abierta dando problemas en siguientes conexiones.

 

Página 7 de 15« Primera...56789...Última »