如何在Android应用程序中从WordPress博客中检索帖子?

2022-09-03 13:12:30

我正在尝试开发一个Android应用程序,用于浏览我拥有的Wordpress驱动的博客。我正在尝试弄清楚如何从博客中检索帖子和其他信息以显示在应用程序中。我看了一遍,但我感到完全迷失了。这是完全可以在Java / XML中完成的事情吗?如果是这样,如何?

谢谢!


答案 1

是的,这是可以做到的。

一种方法是使用 xml-rpc api。Wordpress博客有一个xml-rpc api(您需要在Wordpress博客的“设置 - 写作”下启用)。你还需要在博客上创建一个用户,你至少向该用户授予读取访问权限,并在应用中包含凭据。从那时起,您可以对Wordpress博客进行xml-rpc调用。

如果可以使用这个xml-rpc api,看看这个Java库:http://code.google.com/p/wordpress-java/

您可以使用此库获取博客文章,如下所示:

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 源并使用一些 java 库解析 rss 源可能是你最好的选择(检查 http://www.vogella.com/articles/RSSFeed/article.html 如何使用 Java 读取 rss 源)。


答案 2

正如Integrated 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


推荐