2012-08-19 11 views
16

मैं एक वर्डप्रेस संचालित ब्लॉग ब्राउज़ करने के लिए एक एंड्रॉइड ऐप विकसित करने की कोशिश कर रहा हूं। मैं यह पता लगाने की कोशिश कर रहा हूं कि ऐप में प्रदर्शित करने के लिए ब्लॉग से पोस्ट और अन्य जानकारी कैसे प्राप्त करें। मैंने पूरी तरह से देखा है लेकिन मैं पूरी तरह से खो गया महसूस करता हूँ। क्या यह ऐसा कुछ है जो जावा/एक्सएमएल में पूरी तरह से किया जा सकता है? यदि हां, तो कैसे?एंड्रॉइड ऐप में वर्डप्रेस ब्लॉग से पोस्ट कैसे प्राप्त करें?

धन्यवाद!

उत्तर

23

हां, यह किया जा सकता है।

एक तरीका xml-rpc api का उपयोग करना है। वर्डप्रेस ब्लॉग में एक एक्सएमएल-आरपीसी एपीआई है (जिसे आपको "सेटिंग्स - राइटिंग" के तहत वर्डप्रेस ब्लॉग पर सक्षम करने की आवश्यकता है)। आपको ब्लॉग पर उपयोगकर्ता बनाने की भी आवश्यकता होगी, जिसे आप कम से कम पढ़ने के लिए पहुंच देते हैं, और जिसके लिए आप अपने ऐप में प्रमाण-पत्र शामिल करते हैं। तब से, आप अपने वर्डप्रेस ब्लॉग पर एक्सएमएल-आरपीसी कॉल कर सकते हैं।

यदि यह XML-RPC एपीआई का उपयोग कर एक विकल्प है, इस जावा lib पर एक नज़र डालें: 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); 

इसके अलावा, सरकारी वर्डप्रेस एंड्रॉइड ऐप ओपन सोर्स है। इसे प्राप्त करने के लिए निर्देश हैं: http://android.wordpress.org/development/ आप इस स्रोत कोड को प्रारंभिक बिंदु के रूप में उपयोग कर सकते हैं और इसे अपनी आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं।

ध्यान दें कि जब आप उपयोगकर्ता को पढ़ने के लिए उपयोग करते हैं तो आप केवल xml-rpc api का उपयोग कर सकते हैं। यदि आपके पास पढ़ने के उपयोग वाले उपयोगकर्ता के प्रमाण-पत्र नहीं हैं, तो आप xml-rpc api का उपयोग करके पोस्ट प्राप्त नहीं कर सकते हैं। आरएसएस फ़ीड प्राप्त करना और कुछ जावा lib के साथ आरएसएस फ़ीड को पार्स करना शायद आपकी सबसे अच्छी शर्त होगी (जावा का उपयोग करके आरएसएस फ़ीड को पढ़ने के तरीके पर http://www.vogella.com/articles/RSSFeed/article.html देखें)।

+0

एक पूरी तरह से जवाब के लिए धन्यवाद! मुझे लगता है कि एपीआई मेरे लिए सबसे अच्छा काम करेगी, लेकिन मैं वर्डप्रेस ऐप को भी संशोधित करने में देखूंगा। एक बार फिर धन्यवाद! – Argus9

+1

लाइब्रेरी मेरे लिए काम नहीं कर रही है। यह लाइब्रेरी प्रोजेक्ट और आश्रित परियोजना दोनों में है लेकिन लॉगकैट "net.bican.wordpress.Wordpress" वर्ग के साथ "noclassdeffounderror" कहता है। कृपया मदद करें! –

+0

आपको अपनी प्रोजेक्ट में libs नामक फ़ोल्डर बनाने की आवश्यकता है और वहां जार फ़ाइल कॉपी करें और इसे अपने बिल्ड पथ में जोड़ें। इस पर अन्य पोस्ट हैं, मैं आपको http://stackoverflow.com/questions/1334802/how-can-i-use-external-jars-in-an-android-project – Welshboy

2

सामग्री एकीकृत सामग्री ने कहा, 'net.bican: jwordpress: 0.6.4' आपको जो चाहिए वह है। फिर भी, उन्होंने जो उदाहरण दिया वह अब बहिष्कृत है। कोई और नहीं है RecentPosts (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/issues/54: https://github.com/canbican/wordpress-java/blob/bb4b60a008ee6d280aedd9174df4a657bff683ac/src/net/bican/wordpress/example/Main.java

इसके अलावा, आप Gradle उपयोग कर रहे हैं, जाँच इस समस्या को आप का सामना कर सकते निर्भरता

0

एक वैकल्पिक तरीका भी है, और यह अच्छा काम कर रहा है,

आप अपने शब्द प्रेस में जेसन प्लगइन स्थापित कर सकते हैं और आप यूआरएल का अनुरोध करके सभी पोस्ट पुनर्प्राप्त कर सकते हैं ... और आपके एंड्रॉइड विचारों में प्रतिक्रिया जेसन को पार्सिंग कर रहे हैं।

संबंधित मुद्दे