在Android上使用GData API的最佳select?

什么是在Android应用程序中使用Google Data API最痛苦和最有效的方式?

几次快速search后,似乎Google Code上有一个android-gdata项目,似乎是单个作者的工作。 我没有find任何文件,甚至不知道它是否准备好了。

一个较老的选项,com.google.wireless.gdata包似乎已经从SDK中删除 。 它仍然在GIT存储库中可用 。

在我花费太多的时间和方法之前,我想知道哪个是最好的支持,最不痛苦的。

请查看支持Android的Google API Client Library for Java:

http://code.google.com/p/google-api-java-client/

它还支持最近宣布的部分响应/更新和JSON-C等新的GData技术,这两者都可以大大提高Android的效率。

首先,请看一下Android开发者指南 。 此外,请参阅Android示例Picasanetworking相册数据API ,演示如何创build/更新/删除相册并上传图片。

完全披露:我是google-api-java-client项目的所有者。

我也看了谷歌代码项目和git回购。 由于所需项目中出现的明显包袱,我转而离开Goog​​le代码项目。 我最终创build了自定义实现,以适应标准的Java API。 你可以在android-developers组中find我的解决scheme的粗略描述。 它是4短,容易testing的类

请尝试Google SpreadSheet API for Android-

http://code.google.com/p/google-spreadsheet-lib-android/

我在Google Code上维护这个项目,所以如果您遇到任何问题,请告诉我。

干杯,Prasanta

这里有一些步骤来让Google Docs api与Android Eclipse项目一起工作。

扰stream板:它打破了(对我来说)SAXexception

1

获取GData Java库 (通过语言指南 )

2

从Android Javamail端口获取3个jar子

3

在你的lib文件夹中添加下面的jar,使用上下文菜单将它们添加到path(Build path-> Add)

  • activation.jar(javamail)
  • additionnal.jar(javamail)
  • mail.jar(javamail)
  • GDATA客户端 – 1.0.jar
  • GDATA客户端 – 元1.0.jar
  • GDATA核-1.0.jar
  • GDATA-docs的-3.0.jar
  • GDATA-docs的-元3.0.jar
  • GDATA-GTT-2.0.jar
  • GDATA-GTT-元2.0.jar
  • GDATA媒体-1.0.jar
  • google-collect-1.0-rc1.jar(来自gdata文件夹的deps文件夹)
  • jsr305.jar3。 (从gdata文件夹的deps文件夹)

4

不要忘记在您的AndroidManifest.xml中添加INTERNET权限:

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

尝试一些示例代码:

 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

接受2小时后失败,从logcat的SaxException:

WARN / XmlParser(1599):javax.xml.parsers.ParserConfigurationException:
org.xml.sax.SAXNotRecognizedException: http : //xml.org/sax/features/external-parameter-entities

在com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:68)

这最后一步导致一个ServiceException。

我使用了这个: http : //code.google.com/p/android-gdocs-api/ 。 我试着把它转换成.jar,但有问题。 我发现将项目标记为图书馆项目很容易,然后将其用于我的主项目。