2012-08-19 3 views
16

Ich versuche eine Android-App zu entwickeln, um einen Wordpress-Blog zu durchsuchen, den ich besitze. Ich versuche herauszufinden, wie man Posts und andere Informationen aus dem Blog abrufen kann, um sie in der App anzuzeigen. Ich habe überall nachgesehen, aber ich fühle mich völlig verloren. Ist das etwas, das vollständig in Java/XML getan werden kann? Wenn das so ist, wie?Wie kann ich Beiträge aus einem WordPress Blog in einer Android App abrufen?

Vielen Dank!

Antwort

23

Ja, es kann getan werden.

Eine Möglichkeit ist die Verwendung des xml-rpc api. Wordpress-Blogs haben eine xml-rpc-API (die Sie im Wordpress-Blog unter "Einstellungen - Schreiben" aktivieren müssen). Sie müssen außerdem einen Benutzer im Blog erstellen, dem Sie mindestens Lesezugriff gewähren und für den Sie die Anmeldeinformationen in Ihre App einbinden. Ab dann können Sie xml-rpc Anrufe zu Ihren Wordpress Blog (s) tun.

Wenn mit diesem XML-RPC-API ist eine Option, werfen Sie einen Blick auf diesem Java lib: http://code.google.com/p/wordpress-java/

Sie können die Blogeinträge mit diesen lib wie diese:

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); 

Auch die offiziellen Wordpress Android App ist Open Source. Anweisungen dazu erhalten Sie unter: http://android.wordpress.org/development/ Sie können diesen Quellcode als Ausgangspunkt verwenden und ihn an Ihre Bedürfnisse anpassen.

Beachten Sie, dass Sie die xml-rpc API nur verwenden können, wenn Sie einen Benutzer mit Lesezugriff haben. Wenn Sie nicht über die Anmeldeinformationen eines Benutzers mit Lesezugriff verfügen, können Sie die Posts nicht mit der XML-RPC-API abrufen. Das Holen des RSS-Feeds und das Parsen des RSS-Feeds mit einer Java-Bibliothek wäre wahrscheinlich die beste Lösung (siehe http://www.vogella.com/articles/RSSFeed/article.html, wie man einen RSS-Feed mit Java liest).

+0

Danke für eine HUGELY gründliche Antwort! Ich denke, dass die API am besten für mich funktioniert, aber ich werde auch die Wordpress App modifizieren. Danke noch einmal! – Argus9

+1

die Bibliothek funktioniert nicht für mich. Es befindet sich sowohl im Bibliotheksprojekt als auch im abhängigen Projekt, logcat sagt jedoch "noclassdeffounderror" mit der Klasse "net.bican.wordpress.Wordpress". Hilfe bitte! –

+0

Sie müssen einen Ordner namens libs in Ihrem Projekt erstellen und die JAR-Datei dorthin kopieren und sie Ihrem Build-Pfad hinzufügen. Es gibt andere Beiträge dazu, ich weise Sie auf http://stackoverflow.com/questions/1334802/how-can-i-use-external-jars-in-an-android-project – Welshboy

2

Als Integrating Stuff sagte, die "net.bican: jwordpress: 0.6.4" ist, was Sie brauchen. Dennoch ist das Beispiel, das er gab, jetzt veraltet. Es gibt nicht mehr getRecentPosts (int), sondern getPosts (FilterPost).

So, jetzt der richtige Code ist:

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); 

mehr überprüfen Sie das Beispiel wissen: https://github.com/canbican/wordpress-java/blob/bb4b60a008ee6d280aedd9174df4a657bff683ac/src/net/bican/wordpress/example/Main.java

Auch wenn Sie Gradle verwenden, überprüfen dieses Problem Abhängigkeiten Sie begegnen könnten: https://github.com/canbican/wordpress-java/issues/54

0

Es gibt eine alternative Art und Weise auch, und seine Arbeit gut,

Sie können JSON-Plugin in Ihrem WordPress installieren und Sie können alle Post abrufen, indem Sie die URL anfordern ... und analysieren die Antwort JSON in Ihren Android-Ansichten wird funktionieren.

Verwandte Themen