AndroidアプリケーションでGoogle Data APIを使用するための最も苦痛がなく、最もサイズ効率の良い方法は何ですか?
数回の簡単な検索の後、Google Codeに Android-gdata プロジェクトがあるようですが、これは1人の著者の作品のようです。そのためのドキュメントは見つかりませんでしたし、まだ製品の準備ができているかどうかもわかりません。
古いオプションであるcom.google.wireless.gdataパッケージは、SDKから 削除 されているようです。それはまだGITリポジトリに available です。
どちらのアプローチでも多くの時間を費やす前に、どちらが最もサポートされており、最も痛みが少ないかを知りたいと思います。
Google APIクライアントライブラリ をご覧くださいJava Androidをサポートしています)
また、最近発表された部分応答/更新やJSON-Cなどの新しいGDataテクノロジーもサポートしています。 Androidでの効率の向上。
まず、 Androidデベロッパーガイド をご覧ください。また、 PicasaウェブアルバムデータAPIのAndroidサンプル も参照してください。これは、フォトアルバムの作成、更新、削除、および写真のアップロード機能を示しています。
完全な開示:私は google-api-Java-client プロジェクトの所有者です。
また、google-codeプロジェクトとgitリポジトリも調べました。必要なプロジェクトで手に入れた明らかな手荷物のため、私はgoogle-codeプロジェクトから離れました。標準Java APIを適応させるために必要に応じてカスタム実装を作成しました。私のソリューションの大まかな説明は Android-developersグループ 。4つの短い、簡単にテストできるクラス
お試しください Google SpreadSheet API for Android
私はこのプロジェクトをGoogle Codeで維持しているので、問題が発生した場合はお知らせください。
乾杯、プラサンタ
ここでは、Android EclipseプロジェクトでGoogle Docs APIを機能させるためのいくつかの手順を示します。
スポイラー:SAX例外で(私にとって)壊れる
GDataを取得Javaライブラリ ( 言語ガイド を介して)
Android Javamailポート から3つのjarを取得します
以下のjarをlibフォルダーに追加し、コンテキストメニュー(ビルドパス->追加)を使用してパスに追加します。
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();
}
LogcatのSaxExceptionを使用して、2時間後に敗北を受け入れます。
WARN/XmlParser(1599):javax.xml.parsers.ParserConfigurationException:
org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
...
at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.Java:68)
この最後の手順により、ServiceExceptionが発生します。
私はこれを使用しました [〜#〜] api [〜#〜]
.jar
に変換してみましたが、問題がありました。プロジェクトをライブラリプロジェクトとしてマークし、メインプロジェクトで使用するのは簡単でした。