在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回购。 由于所需项目中出现的明显包袱,我转而离开Google代码项目。 我最终创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,但有问题。 我发现将项目标记为图书馆项目很容易,然后将其用于我的主项目。