Как получить сообщения из блога WordPress в приложении для Android? - программирование

Как получить сообщения из блога WordPress в приложении для Android?

Я пытаюсь разработать приложение для Android для просмотра блога Wordpress, который у меня есть. Я пытаюсь выяснить, как извлекать сообщения и другую информацию из блога для отображения в приложении. Я все посмотрел, но я чувствую себя полностью потерянным. Это что-то, что можно сделать полностью в Java/XML? Если да, то как?

Спасибо!

4b9b3361

Ответ 1

Да, это можно сделать.

Один из способов - использовать xml-rpc api. В блогах Wordpress есть xml-rpc api (который вам нужно включить в блоге Wordpress в разделе "Настройки - Написание" ). Вам также потребуется создать пользователя в блоге, который вы дадите, по крайней мере, для доступа на чтение, и для которого вы включаете учетные данные в своем приложении. С этого момента вы можете выполнять вызовы xml-rpc в своем блоге Wordpress.

Если использовать этот xml-rpc api - это вариант, взгляните на эту Java lib: http://code.google.com/p/wordpress-java/

Вы можете получить blogposts, используя эту lib, как это:

String username = args[0];
String password = args[1];
String xmlRpcUrl = args[2];
Wordpress wp = new Wordpress(username, password, xmlRpcUrl);
List<Page> recentPosts = wp.getRecentPosts(10);

Кроме того, официальное приложение для Wordpress для Android является открытым исходным кодом. Инструкции для его получения: http://android.wordpress.org/development/ Вы можете использовать этот исходный код в качестве отправной точки и адаптировать его к вашим потребностям.

Обратите внимание, что вы можете использовать только xml-rpc api, когда у вас есть пользователь с доступом для чтения. Если у вас нет учетных данных пользователя с доступом для чтения, вы не можете получать сообщения, используя xml-rpc api. Получение rss-канала и разбор rss-канала некоторыми java-библиотеками, вероятно, будет вашим лучшим выбором тогда (отметьте http://www.vogella.com/articles/RSSFeed/article.html о том, как читать rss-канал, используя Java).

Ответ 2

Как сказал Integrating Stuff, "net.bican: jwordpress: 0.6.4" - это то, что вам нужно. Тем не менее, пример, который он дал, теперь устарел. Больше нет getRecentPosts (int), а getPosts (FilterPost).

Итак, теперь правильный код:

String username = args[0];
String password = args[1];
String xmlRpcUrl = args[2];
Wordpress wp = new Wordpress(username, password, xmlRpcUrl);
FilterPost filter = new FilterPost() ;
filter.setNumber(10);
List<Post> recentPosts = wp.getPosts(filter);

чтобы узнать больше, проверьте пример: https://github.com/canbican/wordpress-java/blob/bb4b60a008ee6d280aedd9174df4a657bff683ac/src/net/bican/wordpress/example/Main.java

Кроме того, если вы используете Gradle, проверьте эту проблему с зависимостями, с которой вы можете столкнуться: https://github.com/canbican/wordpress-java/issues/54

Ответ 3

Существует и альтернативный способ, и его работа хорошая,

вы можете установить json-плагин в свое слово, и вы можете получить все сообщение, запросив url... и проанализируя ответ json в ваших андроид-представлениях, будет работать.