\lstset{language=Java, basicstyle=\small, breaklines=true, float=[P], floatplacement={P}, frame=single, captionpos=b, caption={Código para la recepción de datos desde el servidor Web}, label={list:JavaHTTPGetHandler}}
\lstinputlisting{source/JavaHTTPGetHandler.java}
-El StringBuilder contiene la respuesta JSON devuelta por el servidor Web. En el Listado~\ref{list:JavaHTTPJSONtreatment}) se muestra como el StringBuilder es transformado a un Array de objetos JSON (el servicio Web responde con una secuencia donde cada objeto JSON contiene los datos de un anuncio) El método updatedIndexer actualizará tal y como su nombre indica la base de datos con la información sobre el nuevo anuncio y si todo va bien mediante otra conexión HTTP realizada por el método downloadAds la aplicación Android descargará la imagen que está asociada con un anuncio. En caso de que el anuncio ya estuviera descargado, se encontraría en la base de datos y updatedIndexer devolvería null y por tanto no se descargaría nada ni se actualizaría la base de datos con información que ya existía previamente.
+El StringBuilder contiene la respuesta JSON devuelta por el servidor Web. En el Listado~\ref{list:JavaHTTPJSONtreatment}) se muestra como el StringBuilder es transformado a un Array de objetos JSON (el servicio Web responde con una secuencia donde cada objeto JSON contiene los datos de un anuncio) El método updatedIndexer actualizará tal y como su nombre indica la base de datos con la información sobre el nuevo anuncio y si todo va bien mediante otra conexión HTTP realizada por el método downloadImage la aplicación Android descargará la imagen que está asociada con un anuncio. En caso de que el anuncio ya estuviera descargado, se encontraría en la base de datos y updatedIndexer devolvería null y por tanto no se descargaría nada ni se actualizaría la base de datos con información que ya existía previamente.
En el Listado~\ref{list:JavaHTTPJSONtreatment}) se observa también la existencia del método sendBroadcast. Habíamos mencionado previamente que la tarea de descarga de anuncios se ejecutaba en segundo plano por parte de un Servicio Android multihilo. Necesitamos un mecanismo para por un lado actualizar la interfaz del usuario mostrando los nuevos anuncios recibidos y por otro generar una notificación en la barra de tareas del dispositivo Android. Para llevar a cabo estos requerimientos se hace uso de un BroadCastReceiver proporcionado por la API Android que notificará a las Activities que escuchen dicho broadcast sobre la necesidad de actualizar los datos que están mostrando al usuario.
JSONObject objects = finalResult.getJSONObject(i);
if ((uriInsert = updatedIndexer(objects)) != null) {
try {
- downloadAds((String)objects.get("image"), (String) objects.get("id"));
+ downloadImage((String)objects.get("image"), (String) objects.get("id"));
Intent updateList = new Intent("de.android.mobiads.MOBIADSLISTRECEIVER");
context.sendBroadcast(updateList);
updateNotification();
public void makeUseOfNewLocation(Location loc) {
- final String latitude = Double.toString(loc.getLatitude());
- final String longitude = Double.toString(loc.getLongitude());
+ final String latitude = String.valueOf(location.getLatitude());
+ final String longitude = String.valueOf(location.getLongitude());
final String URLAuth = urlServer + latitude + "/" + longitude + "/gpsads.json";
URL url = new URL(URLAuth);
this.exec.execute(new Batch(url));