trends google developer apis android gdata-api

google - ¿La mejor opción para usar las API de GData en Android?



google developer database (5)

También miré el proyecto de código de google y el repositorio git. Me alejé del proyecto de código de Google debido al aparente bagaje que surgió en los proyectos requeridos. Terminé creando implementaciones personalizadas según sea necesario para adaptar la API estándar de Java. Puede encontrar una descripción aproximada de mi solución en el grupo android-developers . Son 4 clases cortas, fáciles de probar

¿Cuál es la forma menos dolorosa y más eficiente de usar las API de datos de Google en una aplicación de Android?

Después de algunas búsquedas rápidas, parece que hay un proyecto android-gdata en Google Code que parece ser obra de un solo autor. No encontré ninguna documentación para ello y ni siquiera sé si todavía está lista para producción.

Una opción anterior, el paquete com.google.wireless.gdata parece haberse eliminado del SDK. Todavía está disponible en el repositorio de GIT.

Antes de invertir demasiado tiempo con cualquiera de los enfoques, me gustaría saber cuál es el mejor soportado y el menos doloroso.


A continuación, se detallan algunos pasos para que la API de Google Docs funcione con un proyecto de Android Eclipse.

Spoiler: se rompe (para mí) en la excepción SAX

1

Obtenga la biblioteca Java de GData (a través de la guía de idiomas )

2

Obtenga los 3 frascos del puerto Android Javamail

3

Agregue los siguientes archivos jar en su carpeta lib, agréguelos a la ruta usando el menú contextual (Build path-> Add)

  • activation.jar (javamail)
  • additionnal.jar (javamail)
  • mail.jar (javamail)
  • gdata-client-1.0.jar
  • gdata-client-meta-1.0.jar
  • gdata-core-1.0.jar
  • gdata-docs-3.0.jar
  • gdata-docs-meta-3.0.jar
  • gdata-gtt-2.0.jar
  • gdata-gtt-meta-2.0.jar
  • gdata-media-1.0.jar
  • google-collect-1.0-rc1.jar (desde la carpeta deps de la carpeta gdata)
  • jsr305.jar3. (desde la carpeta deps de la carpeta gdata)

4

No olvide agregar el permiso de INTERNET en su AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

5

Prueba un código de ejemplo:

DocsService client = new DocsService("myappname"); try { client.setUserCredentials("username", "password"); URL feedUri = new URL("https://docs.google.com/feeds/default/private/full/"); DocumentListFeed feed = client.getFeed(feedUri, DocumentListFeed.class); TextView textView = (TextView) findViewById(R.id.textview); String text = ""; for (DocumentListEntry entry : feed.getEntries()) { text += entry.getTitle().getPlainText() + "/r/n"; } textView.setText(text); } catch (AuthenticationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); }

6

Acepta la derrota después de 2 horas, con una SaxException de logcat:

WARN / XmlParser (1599): javax.xml.parsers.ParserConfigurationException:
org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
...
en com.google.gdata.wireformats.input.AtomDataParser.parse (AtomDataParser.java:68)

Este último paso causa una excepción de servicio.


Mire la biblioteca de clientes de API de Google para Java que admite Android

También es compatible con las nuevas tecnologías GData , como la respuesta / actualización parcial recientemente anunciada y JSON-C , que pueden representar una mejora drástica en la eficacia de Android.

Para empezar, echa un vistazo a la Guía del desarrollador de Android . Además, consulte el ejemplo de Android para la API de datos de Álbumes web de Picasa , que demuestra la capacidad de crear / actualizar / eliminar un álbum de fotos y cargar una imagen.

Divulgación completa: soy un propietario del proyecto google-api-java-client .


Usé esta API

Traté de convertirlo a .jar , pero tuve problemas. Me resultó fácil marcar el proyecto como un proyecto de biblioteca y luego usarlo en mi proyecto principal.


Prueba Google SpreadSheet API para Android

Estoy manteniendo este proyecto en Google Code, por lo que si tiene algún problema, hágamelo saber.

Saludos, Prasanta