Лучший вариант использования API-интерфейсов GData на Android?

Какой наименее болезненный и наиболее эффективный способ использования API данных Google в приложении для Android?

После нескольких быстрых поисков кажется, что в Google Code есть проект android-gdata, который, похоже, является работой одного автора. Я не нашел для нее никакой документации и даже не знаю, готова ли она к производству.

Более старый вариант, пакет com.google.wireless.gdata, кажется, был удален из SDK. Он по-прежнему доступен в репозитории GIT.

Прежде чем вкладывать слишком много времени в любой подход, я хотел бы знать, какой из них лучше всего поддерживать и наименее болезненным.

Solutions Collecting From Web of "Лучший вариант использования API-интерфейсов GData на Android?"

Пожалуйста, ознакомьтесь с клиентской библиотекой Google API для Java, которая поддерживает Android:

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

Он также поддерживает новые технологии GData, такие как недавно анонсированный частичный ответ / обновление и JSON-C, оба из которых могут значительно повысить эффективность Android.

Для начала ознакомьтесь с руководством разработчика Android . Кроме того, ознакомьтесь с образцом Android для API данных веб-альбомов Picasa , который демонстрирует возможность создания / обновления / удаления фотоальбома и загрузки изображения.

Полное раскрытие: Я являюсь владельцем проекта google-api-java-client .

Я также посмотрел проект google-кода и git-репо. Я ушел от проекта google-code из-за кажущегося багажа, который появился в необходимых проектах. В результате я создал пользовательские реализации, необходимые для адаптации стандартного API Java. Вы можете найти приблизительное описание моего решения в группе разработчиков Android . Это 4 коротких, легко тестируемых класса

Пожалуйста, попробуйте API Google SpreadSheet для Android-

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

Я поддерживаю этот проект в Google Code, поэтому, если вы столкнулись с какой-либо проблемой, любезно сообщите мне.

Cheers, Prasanta

Вот несколько шагов, чтобы заставить Google Docs api работать с проектом Android Eclipse.

Спойлер: он ломается (для меня) по исключению SAX

1

Получите библиотеку GData Java (через руководство по языку )

2

Получите 3 баночки из порта Android Javamail

3

Добавьте следующие jars в вашу папку lib, добавьте их в путь, используя контекстное меню (Build path-> Add)

  • Activation.jar (javamail)
  • Addnal.jar (javamail)
  • Mail.jar (javamail)
  • GData-клиент-1.0.jar
  • GData-клиент-мета-1.0.jar
  • GData-ядро-1.0.jar
  • GData-документы-3.0.jar
  • GData-документы-мета-3.0.jar
  • GData-GTT-2.0.jar
  • GData-GTT-мета-2.0.jar
  • GData-медиа-1.0.jar
  • Google-collect-1.0-rc1.jar (из папки deps в папке gdata)
  • jsr305.jar3. (Из папки deps папки gdata)

4

Не забудьте добавить разрешение INTERNET в свой AndroidManifest.xml:

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

5

Попробуйте пример кода:

 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 часа, с SaxException из logcat:

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, но имел проблемы. Мне было легко отметить проект как проект библиотеки, а затем использовать его в моем основном проекте.