2012-08-19 13 views
16

Estoy tratando de desarrollar una aplicación de Android para navegar por un blog de WordPress que tengo. Estoy intentando descubrir cómo recuperar publicaciones y otra información del blog para mostrar en la aplicación. Miré por todos lados, pero me siento completamente perdido. ¿Es esto algo que se puede hacer completamente en Java/XML? ¿Si es así, cómo?¿Cómo recuperar publicaciones de un blog de WordPress en una aplicación de Android?

¡Gracias!

Respuesta

23

Sí, se puede hacer.

Una forma es usar la API xml-rpc. Los blogs de Wordpress tienen una api xml-rpc (que debe habilitar en el blog de Wordpress en "Configuración - Escritura"). También necesitarás crear un usuario en el blog, al que le des al menos acceso de lectura, y para el que incluyas las credenciales en tu aplicación. A partir de ese momento, puede hacer llamadas xml-rpc a su (s) blog (es) de Wordpress.

Si se utiliza esta API XML-RPC es una opción, echar un vistazo a este lib Java: http://code.google.com/p/wordpress-java/

, usted puede obtener las entradas del blog que utiliza este lib así:

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

Asimismo, el funcionario La aplicación de Wordpress para Android es de código abierto. Las instrucciones para obtenerlo son: http://android.wordpress.org/development/ Puede usar este código fuente como punto de partida y adaptarlo a sus necesidades.

Tenga en cuenta que solo puede usar la API xml-rpc cuando tiene un usuario con acceso de lectura. Si no tiene las credenciales de un usuario con acceso de lectura, no puede obtener las publicaciones usando la API xml-rpc. La obtención de la alimentación rss y el análisis de la alimentación rss con algunos java lib probablemente serían su mejor opción (consulte http://www.vogella.com/articles/RSSFeed/article.html sobre cómo leer un feed rss usando Java).

+0

¡Gracias por una respuesta HUGELY completa! Creo que la API funcionará mejor para mí, pero también investigaré la modificación de la aplicación Wordpress. ¡Gracias de nuevo! – Argus9

+1

la biblioteca no funciona para mí. Está tanto en proyecto de biblioteca como en proyecto dependiente, pero logcat dice "noclassdeffounderror" con la clase "net.bican.wordpress.Wordpress". ¡ayuda por favor! –

+0

Debe crear una carpeta llamada libs en su proyecto y copiar el archivo jar allí y agregarlo a su ruta de compilación. Hay otras publicaciones sobre esto, le señalo http://stackoverflow.com/questions/1334802/how-can-i-use-external-jars-in-an-android-project – Welshboy

2

As Integrating Stuff dijo que 'net.bican: jwordpress: 0.6.4' es lo que necesita. Aún así, el ejemplo que dio ahora está en desuso. No hay más getRecentPosts (int) pero getPosts (FilterPost).

Así que ahora el código correcto es:

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

saber más comprobar el ejemplo: https://github.com/canbican/wordpress-java/blob/bb4b60a008ee6d280aedd9174df4a657bff683ac/src/net/bican/wordpress/example/Main.java

Además, si usted está utilizando Gradle, mira esto dependencias problema que se puede encontrar: https://github.com/canbican/wordpress-java/issues/54

0

Hay una forma alternativa también, y su trabajo bien,

puede instalar el plugin json en la prensa de su palabra y puede recuperar todas las publicaciones solicitando la url ... y el análisis de la respuesta json en sus vistas de Android estará funcionando.

Cuestiones relacionadas