From e995ec539c8be249c7f9a6bbb6917ff7c9f2e1f3 Mon Sep 17 00:00:00 2001 From: gumartinm Date: Thu, 15 Nov 2012 04:19:38 +0100 Subject: [PATCH] Improvements in chapter 6 --- capitulo6/capitulo6.tex | 10 ++++++++-- source/JavaHTTPJSONtreatment.java | 1 - source/JavaUpdateLocation.java | 5 +---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/capitulo6/capitulo6.tex b/capitulo6/capitulo6.tex index 8bafc18..c5c91a3 100644 --- a/capitulo6/capitulo6.tex +++ b/capitulo6/capitulo6.tex @@ -6,9 +6,13 @@ No es objetivo de esta memoria explicar cada una de las líneas de código de la La documentación ha sido realizada durante la codificación de la aplicaciones usando Javadoc y phpDocumentor 2. Ambos se basan en la interpretación de los comentarios escritos en las clases y métodos para crear documentación en diversos formatos que pueden ser accedidos por usuarios que quieran conocer o tengan que usar o reutilizar el código implementado. -\section{Conexiones HTTP Cliente - Servidor} +\section{Proceso de recepción de nuevos anuncios} -Desde el cliente y tras un cambio de posición geográfica de un usuario, el dispositivo móvil envía las coordenadas vía una petición GET HTTP al servidor Web. Primero la aplicación creará un nuevo hilo para que puedan ejecutarse varias peticiones HTTP en paralelo, tal y como se muestra en el Listado~\ref{list:JavaUpdateLocation}). Se recibe la nueva localización enviada por el sistema operativo Android cuando ésta varía y después se lanza una tarea mediante la instancia exec que es un objeto del tipo ExecutorService proporcionado por Java para poder lanzar y gestionar hilos de una forma sencilla. Básicamente mediante el método execute estamos diciendo a Android que construya un nuevo hilo donde las tareas batch o en segundo plano serán ejecutadas. +Se ha seleccionado la acción de recepción de anuncios ante variaciones en la localización del usuario como un proceso que sirve para describir el sistema implementado de una forma que permita al lector hacerse una idea de todos los elementos que intervienen en en dicha acción mediante la explicación de partes del código que ha tenido que ser escrito para llevarla a cabo. + +\subsection{Peticiones GET HTTP desde cliente Android} + +Desde el cliente y tras un cambio de posición geográfica de un usuario, el dispositivo móvil envía las coordenadas mediante una petición GET HTTP al servidor Web (al servicio Web RESTful) Primero la aplicación creará un nuevo hilo para que puedan ejecutarse varias peticiones HTTP en paralelo, tal y como se muestra en el Listado~\ref{list:JavaUpdateLocation}). Se recibe la nueva localización enviada por el sistema operativo Android cuando ésta varía y después se lanza una tarea mediante la instancia exec que es un objeto del tipo ExecutorService proporcionado por Java para poder lanzar y gestionar hilos de una forma sencilla. Básicamente mediante el método execute estamos diciendo a Android que construya un nuevo hilo donde las tareas batch o en segundo plano serán ejecutadas. \lstset{language=Java, basicstyle=\small, breaklines=true, float=[P], floatplacement={P}, frame=single, captionpos=b, caption={Código para la ejecución de tareas en paralelo}, label={list:JavaUpdateLocation}} @@ -28,3 +32,5 @@ En el Listado~\ref{list:JavaHTTPJSONtreatment}) se observa también la existenci \lstset{language=Java, basicstyle=\small, breaklines=true, float=[P], floatplacement={P}, frame=single, captionpos=b, caption={Código para la persistencia de los datos recibidos}, label={list:JavaHTTPJSONtreatment}} \lstinputlisting{source/JavaHTTPJSONtreatment.java} + +\subsection{Tratamiento de las peticiones en el servidor Web} diff --git a/source/JavaHTTPJSONtreatment.java b/source/JavaHTTPJSONtreatment.java index c448934..3b4f47c 100644 --- a/source/JavaHTTPJSONtreatment.java +++ b/source/JavaHTTPJSONtreatment.java @@ -1,7 +1,6 @@ JSONTokener tokener = new JSONTokener(builder.toString()); JSONArray finalResult = new JSONArray(tokener); Uri uriInsert = null; - for (int i = 0; i < (finalResult.length() -1); i++) { JSONObject objects = finalResult.getJSONObject(i); if ((uriInsert = updatedIndexer(objects)) != null) { diff --git a/source/JavaUpdateLocation.java b/source/JavaUpdateLocation.java index 1624330..8af5086 100644 --- a/source/JavaUpdateLocation.java +++ b/source/JavaUpdateLocation.java @@ -1,10 +1,7 @@ public void makeUseOfNewLocation(Location loc) { - final String latitude = Double.toString(loc.getLatitude()); final String longitude = Double.toString(loc.getLongitude()); - //RESTful WebService - final String URLAuth = urlServer + latitudeReplace + "/" + longitudeReplace + "/gpsads.json"; + final String URLAuth = urlServer + latitude + "/" + longitude + "/gpsads.json"; URL url = new URL(URLAuth); - this.exec.execute(new Batch(url)); } -- 2.1.4