sábado, 14 de abril de 2012

App Inventor y Fusion Tables:Desventuras - Parte 3ª y Final.

Pues como muchos ya sabéis el Parsing es el proceso de análisis de un texto, hecho de una secuencia de símbolos (por ejemplo, las palabras), para determinar su estructura. Así que lo que hará nuestra funcion "Parse" en este caso es analizar esa cadena que nos devuelve Google y localizar el trozo que nos hace falta, es decir el Token Auth que necesitaremos para las siguientes peticiones SQL que hagamos sobre nuestras tablas Fusion.

He aquí la función y su llamada :



Le pasamos el responseContent obtenido, el Token que queremos separar y el salto de linea que sería el final de dicho token. El valor True es para aplicar el método de appInventor HtmlTextdecode sobre el resultado para convertirlo en un texto legible eliminándole los caracteres HTML tipo &amp, &apos etc.


Con esta función conseguimos separar el elemento Auth y almacenarlo en la variable Auth que nos servirá para conformar el header de nuestra petición GET con la sentencia SQL que queramos. Este header tiene que tener este formato :

header "Authorization: GoogleLogin auth=ABCDEFG...(resumido)" "http://www.google.com/fusiontables/api/query?sql=(aqui va la sentencia sql)"

La forma de crear este header sería tal que así :


Con esto obtenemos el resultado de nuestra consulta SQL listo para procesar en nuestra App. Recordar que cualquier petición GET sobre nuestras tablas SQL Fusion debe llevar este encabezado.

Os dejo en descarga todo el código fuente de la aplicación FusionTables_Web para que podáis probar. Obviamente debéis de cambiar las url's con los datos de vuestra cuenta y también debéis de crearos unas tablillas en fusion.

4 comentarios:

  1. Hola a mi me pasa lo mismo ya que paso el paquete de instalacion al Telefono con Android ejecuto los table fusion y se queda colgado. :( muy diferente a cuando usas el emulador.
    Vi tu Sample con los Web components y te Felicito me parece super bueno. Solo que no me funciona cuando quiero hacer INSERT, UPDATE, IMPORT etc ya que me dice que es necesario usar un metodo POST y el metodo GET es solo para consultar. Tu como hacer para hacer INSERCCIONES de Datos?

    ResponderEliminar
  2. Hola, estamos tratando de hacer una aplicacion android utilizando app inventor, pero necesitamos una base de datos y queriamos saber si es posible vincular sql con la aplicacion antes mencionada... esperando su pronta respuesta le quedamos muy agradecidas....

    ResponderEliminar
  3. Que tal Alberto, oye con el componente WEB al hacer INSERT, IMPORTs, UPDATES me indica que es necesario utilizar el metodo POST. En tu ejemplo viene para consultas el metodo GET que funciona a la perfeccion. Como IMPLEMENTARIAS el METODO POST para Insertar e importar? Saludos desde Mexico. Excelente tu Blog.

    ResponderEliminar
  4. Ayuda con app inventor.Por favor!

    ResponderEliminar