2012-08-19 1 views
16

Sto provando a sviluppare un'app per Android per sfogliare un blog basato su Wordpress che possiedo. Sto cercando di capire come recuperare i post e altre informazioni dal blog da visualizzare nell'app. Ho guardato dappertutto ma mi sento completamente perso. È qualcosa che può essere fatto interamente in Java/XML? Se é cosi, come?Come recuperare i post da un blog WordPress in un'app Android?

Grazie!

risposta

23

Sì, può essere fatto.

Un modo è utilizzare l'xml-rpc api. I blog Wordpress hanno un API xml-rpc (che è necessario abilitare sul blog Wordpress in "Impostazioni - Scrittura"). Dovrai inoltre creare un utente sul blog, che fornisci almeno l'accesso in lettura e per il quale includi le credenziali nella tua app. Da quel momento in poi, puoi effettuare chiamate xml-rpc ai tuoi blog Wordpress.

Se si utilizza questo XML-RPC api è un'opzione, dare un'occhiata a questo lib Java: http://code.google.com/p/wordpress-java/

è possibile ottenere il blogposts utilizzare questo lib come questo:

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

Inoltre, il funzionario L'app per Android di Wordpress è open source. Le istruzioni per ottenerlo sono a: http://android.wordpress.org/development/ È possibile utilizzare questo codice sorgente come punto di partenza e adattarlo alle proprie esigenze.

Si noti che è possibile utilizzare solo l'API xml-rpc quando si dispone di un utente con accesso in lettura. Se non si dispone delle credenziali di un utente con accesso in lettura, non è possibile ottenere i post utilizzando l'API xml-rpc. Recuperare il feed rss e analizzare il feed rss con un po 'di java lib probabilmente sarà la soluzione migliore allora (controlla http://www.vogella.com/articles/RSSFeed/article.html su come leggere un feed RSS usando Java).

+0

Grazie per una risposta completa HUGELY! Penso che l'API funzionerà al meglio per me, ma cercherò anche di modificare l'app Wordpress. Grazie ancora! – Argus9

+1

la libreria non funziona per me. È nel progetto della libreria e nel progetto dipendente, ma logcat dice "noclassdeffounderror" con la classe "net.bican.wordpress.Wordpress". aiuto per favore! –

+0

È necessario creare una cartella denominata libs nel progetto e copiare il file jar lì e aggiungerlo al percorso di generazione. Ci sono altri post su questo, ti rimando a http://stackoverflow.com/questions/1334802/how-can-i-use-external-jars-in-an-android-project – Welshboy

2

Come Integrating Stuff ha dichiarato: "net.bican: jwordpress: 0.6.4" è quello che ti serve. Ancora, l'esempio che ha dato è ora deprecato. Non ci sono più getRecentPosts (int) ma getPosts (FilterPost).

Così ora il codice corretto è:

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

sapere di più verificare l'esempio: https://github.com/canbican/wordpress-java/blob/bb4b60a008ee6d280aedd9174df4a657bff683ac/src/net/bican/wordpress/example/Main.java

Inoltre, se si sta utilizzando Gradle, controllare questo dipendenze problema che si può affrontare: https://github.com/canbican/wordpress-java/issues/54

0

C'è un modo alternativo anche, e il suo lavoro bene,

puoi installare plugin json nella tua word press e puoi recuperare tutto il post richiedendo l'url ... e analizzando la risposta json nelle tue visualizzazioni android funzionerà.