web-dev-qa-db-fra.com

Meilleure option pour utiliser les API GDATA sur Android?

Quelle est la voie la moins pénible et la plus grande taille d'utiliser les API Google Data dans un Android Application?

Après quelques recherches rapides, il semble qu'il existe un projet Android-gdata projet sur Google Code qui semble être le travail d'un seul auteur. Je n'ai trouvé aucune documentation pour cela et je ne sais même pas si sa production est toujours prête.

Une autre option, le package COM.Google.Wireless.gdata semble avoir été supprimé de la SDK. C'est toujours disponible dans le référentiel Git.

Avant d'investir trop de temps avec une seule approche, j'aimerais savoir ce qui est le meilleur soutenu et le moins douloureux.

43
nyenyec

S'il vous plaît jeter un coup d'œil à la bibliothèque client Google API pour Java qui prend en charge Android

Il prend également en charge les technologies neuves gdata telles que la réponse partielle/mise à jour et JSON-C, qui peuvent être une amélioration dramatique de l'efficacité sur Android.

Pour commencer, veuillez consulter le Guide du développeur Android . En outre, veuillez consulter le Exemple Android pour Picasa Web Albums Data API , qui démontre la possibilité de créer/mettre à jour/supprimer un album photo et de télécharger une image.

Divulgation complète: je suis propriétaire du projet Google-API-Java-Client .

33
Yaniv Inbar

J'ai également examiné le projet de code Google et le repo git. Je me suis éloigné du projet de code Google en raison des bagages apparents qui sont venus dans les projets requis. J'ai fini par créer des implémentations personnalisées si nécessaire pour adapter la Standard Java API. Vous pouvez trouver une description approximative de ma solution dans le groupe Android-Developers Group . Il est 4 classes courtes et facilement testées

5
James A Wilson

S'il vous plaît essayez API de tableur Google Spreadsheet pour Android

Je maintient ce projet sur Google Code, donc si vous faites face à un problème, veuillez le faire savoir.

Bravo, Prasanta

3
user542954

Voici quelques étapes pour faire fonctionner l'API Google Docs avec un fichier Android Eclipse Project.

SPOILER: Il se casse (pour moi) sur l'exception saxe

1

Obtenez la bibliothèque GDATA Java (via Guide de la langue )

2

Obtenez les 3 pots du Port JavaMail Android

3

Ajoutez les pots suivants dans votre dossier LIB, ajoutez-les au chemin à l'aide du menu contextuel (chemin de construction-> ajouter)

  • activation.jar (JavaMail)
  • additional.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 (à partir du dossier de DEPS du dossier GData)
  • jsr305.jar3. (du dossier de DEPS du dossier GData)

4

N'oubliez pas d'ajouter la permission Internet dans votre AndroidManifest.xml:

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

5

Essayez un exemple de code:

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

Acceptez la défaite après 2 heures, avec une exception SaxException de LogCat:

Avertissement/XMLPARSER (1599): Javax.xml.Parsers.ParsConfigurationException:
org.xml.sax.saxnoTrecognizedException: http://xml.org/sax/features/external-parameterestities
...
[.____] at com.google.gdata.wireformats.input.atomdatapataparser.parse (atomdatapatarser.java:68)

Cette dernière étape provoque une exception de service.

2
Chris S

J'ai utilisé cela [~ # ~] API [~ # ~ # ~]

J'ai essayé de la convertir en un .jar, mais eu des problèmes. J'ai trouvé facile de marquer le projet en tant que projet de bibliothèque, puis utilisé dans mon projet principal.

1
Clive Jefferies