我正在尝试开发一款Android应用,用于浏览我拥有的Wordpress支持的博客。我正在试图弄清楚如何从博客中检索帖子和其他信息以显示在应用程序中。我看了一遍,但我觉得完全迷失了。这可以完全用Java / XML完成吗?如果是这样,怎么样?
谢谢!
答案 0 :(得分:23)
是的,可以做到。
一种方法是使用xml-rpc api。 Wordpress博客有一个xml-rpc api(您需要在“设置 - 写入”下的Wordpress博客上启用)。您还需要在博客上创建一个用户,您至少可以为其提供读取权限,并在其中包含应用程序中的凭据。 从那时起,您可以对Wordpress博客进行xml-rpc调用。
如果使用此xml-rpc api是一个选项,请查看此Java库:http://code.google.com/p/wordpress-java/
你可以像这样使用这个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 feed并使用一些java lib解析rss feed可能是你最好的选择(检查http://www.vogella.com/articles/RSSFeed/article.html如何使用Java读取rss feed。)
答案 1 :(得分:2)
正如整合东西所说,&#39; net.bican:jwordpress:0.6.4&#39;是你需要的。 不过,他给出的例子现在已被弃用。没有更多的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);
此外,如果您正在使用Gradle,请检查您可能遇到的此依赖关系问题: https://github.com/canbican/wordpress-java/issues/54
答案 2 :(得分:0)
还有另一种方法,它的工作正常,
你可以在你的单词按下安装json插件,你可以通过请求url来检索所有帖子...并解析你的android视图中的响应json将起作用。