Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 1

Обратите внимание на клиентскую библиотеку 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.

Ответ 2

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

Ответ 3

Попробуйте использовать Google SpreadSheet API для Android -

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

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

Cheers, Prasanta​​p >

Ответ 4

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

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

1

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

2

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

3

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

  • activation.jar(javamail)
  • addnal.jar(javamail)
  • mail.jar(javamail)
  • GData-клиент-1.0.jar
  • GData-клиент-мета-1.0.jar
  • gdata-core-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.

Ответ 5

Я использовал это: http://code.google.com/p/android-gdocs-api/. Я попытался преобразовать его в .jar, но имел проблемы. Мне было легко отметить проект как проект библиотеки, а затем использовать его в моем основном проекте.