Лучший вариант использования API-интерфейсов GData на Android?
Какой наименее болезненный и наиболее эффективный способ использования API данных Google в приложении для Android?
После нескольких быстрых поисков t кажется, что в Google Code есть проект android-gdata, который, похоже, является работой одного автора, Я не нашел для него никакой документации и даже не знаю, готова ли она к производству.
В более старой версии пакет com.google.wireless.gdata, по-видимому, был удален из SDK. Он по-прежнему доступен в репозитории GIT.
Прежде чем вкладывать слишком много времени в любой подход, я хотел бы знать, какой из них лучше всего поддерживать и наименее болезненным.
Ответы
Ответ 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,
Prasantap >
Ответ 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, но имел проблемы. Мне было легко отметить проект как проект библиотеки, а затем использовать его в моем основном проекте.