2011-09-06 11 views
7

मैं जीएई, जेएसओएन, आरईएसटी और सामान्य रूप से वेब पर एक नौसिखिया हूं। मेरे पास एक बहुत ही सरल जीडब्ल्यूटी/जीएई डेटास्टोर है जिसे मैं लिखने वाले एंड्रॉइड एप्लिकेशन में डेटा अपडेट करने के लिए उपयोग करना चाहता हूं। कुछ शोध के बाद, ऐसा करने का एक अच्छा तरीका यह है कि एक शानदार वेब सेवा बनाने के लिए मेरा एंड्रॉइड ऐप एक HTTP अनुरोध के माध्यम से पहुंच जाएगा जो JSON स्वरूपित डेटा वापस भेजता है।सरल जीएई जावा JSON रीस्ट सर्वर

मैं ऐसा करने का एक तरीका ढूंढ रहा हूं और ऐसा लगता है कि ज्यादातर तृतीय पक्ष पुस्तकालयों का उपयोग करते हुए कई तरीके हैं। बहुत सारे हैं, शुरुआत के रूप में बुद्धिमानी से चयन करना मुश्किल है। साथ ही, मेरी समस्या इतनी सरल है कि जीएई पर एक शानदार वेब सेवा और जेएसओएन बनाने की मूल बातें सीखना एक अच्छा मौका होगा। इसे केवल एक यूआरएल से जेएसओएन डेटा वापस करने की जरूरत है - कोई बनाता है, कोई अपडेट नहीं, कोई डिलीट नहीं।

मुझे लगता है कि जावा कोड का एक साधारण उदाहरण या ट्यूटोरियल जटिल पुस्तकालय सीखने से मेरे लक्ष्य को प्राप्त करने के लिए और अधिक समझ में आता है। क्या मुझे सही दिशा में भेजने के लिए किसी साधारण उदाहरण या ट्यूटोरियल के बारे में पता है?

धन्यवाद।

नहीं Snark कृपया

== अद्यतन:

GreetingServiceImpl की doGet @Override कि जादूगर से आता है में, मैं कहा:

// super.doGet(req, resp); 
PrintWriter out = resp.getWriter(); 
out.println("Hello World"); 

यह काम करने लगता है। क्या यह आसान हो सकता है? क्या मैं "हैलो वर्ल्ड" स्ट्रिंग के स्थान पर अपना JSON आउटपुट उत्पन्न करने के लिए बस इस कोड को संशोधित कर सकता हूं और मैं कर रहा हूं?

उत्तर

3

तुम हो प्रश्न सामान्य की तरह (कोई snark इरादा) है, तो मेरा उत्तर बहुत सामान्य है। भले ही मेरा जवाब सामान्य है, जानकारी आपको सही दिशा में इंगित करनी चाहिए। यदि आपका प्रश्न अधिक विशिष्ट हो जाता है, तो या तो अपना मूल प्रश्न संपादित करें या अगर यह पर्याप्त विशिष्ट है तो दूसरे से पूछें।

मैं कहूंगा कि ऐसा करने का सबसे आसान तरीका ग्रहण प्राप्त करना होगा, और GAE ग्रहण प्लगइन का उपयोग करना होगा (यदि आपने पहले से नहीं किया है)।

http://code.google.com/appengine/docs/java/tools/eclipse.html

एक बार जब आप यह सब किया है, अपने सर्वलेट में, doGet विधि को फिर से लिखने के लिए किसी भी कोड आप उपयोग करने के लिए:

, स्थापित बनाने के लिए, और एक परियोजना को चलाने के लिए यहाँ निर्देशों का पालन करें अपने डेटास्टोर हिट करने के लिए। एक बार आपके पास कोड हो जाने के बाद आप अपने ऑब्जेक्ट को अपने डेटास्टोर से प्राप्त करना चाहते हैं, तो मैं परिणामस्वरूप ऑब्जेक्ट को जीएसओएन का उपयोग कर जेएसओएन में क्रमबद्ध करता हूं। http://code.google.com/p/google-gson/

फिर, यह वह सारी जानकारी नहीं है जिसकी आपको आवश्यकता होगी। अपने प्रश्न या टिप्पणी को संपादित करने के लिए स्वतंत्र महसूस करें और अधिक विशिष्ट जानकारी मांगें। साथ ही, आपने बताया कि आप इसे करने के लिए अन्य तृतीय पक्ष पुस्तकालयों को भी देख रहे हैं। यहां सावधान रहें। आपको यह ध्यान रखना होगा कि यदि आप Google ऐप इंजन का उपयोग कर रहे हैं, तो स्थानीय रूप से काम करने वाला कुछ ऐसा काम नहीं कर सकता है जब आप इसे तैनात करते हैं। यह एक असुविधा है लेकिन इसका एक हिस्सा Google को ऐप इंजन को सरल बनाने की अनुमति देता है और जितना हो सके उतना मुफ़्त होस्टिंग प्रदान करता है। जावा के लिए ऐप इंजन वातावरण में तीसरे पक्ष के पुस्तकालयों की एक सूची है जो युद्ध परीक्षण की गई है; लेकिन मैं इसे एक कर्सर Google खोज के साथ नहीं ढूंढ पाया। मैं ऐप इंजन दस्तावेज़ों में कहीं कहीं जानता हूं। और, इसके लायक होने के लिए, मैंने ऐप इंजन में जीएसओएन का एक छोटा धुआं परीक्षण किया और यह ठीक काम करने लग रहा था।

+0

धन्यवाद। मैं ग्रहण का उपयोग कर रहा हूं। जादूगर से उत्पन्न कोड में, मैं देख रहा हूँ: सार्वजनिक वर्ग GreetingServiceImpl RemoteServiceServlet लागू करता GreetingService { @Override संरक्षित शून्य doGet (HttpServletRequest अनुरोध, HttpServletResponse resp) ServletException, IOException { फेंकता है ... आप "पुनः लेखन के द्वारा क्या मतलब है इस है फैली ले लो"? – Mitch

+0

मैंने // super.doGet (req, resp) जोड़ा। \t \t प्रिंटवाइटर आउट = resp.getWriter(); \t \t out.println ("हैलो वर्ल्ड"); – Mitch

+0

हां, मेरा प्रश्न कुछ समय में सामान्य है, लेकिन दूसरों में बहुत विशिष्ट है। मैं एक उदाहरण या ट्यूटोरियल की तलाश में हूं, जो बहुत विशिष्ट है। हालांकि, यह सामान्य है कि इस पर सुझाव देने के लिए कि क्या काम करेगा। – Mitch

-1

जर्सी के साथ प्रयास करें!

http://jersey.java.net/

+0

बिल्कुल वही जो मैं नहीं चाहता। लेकिन फिर भी धन्यवाद। – Mitch

2

JSONEngine का उपयोग करने का प्रयास करें- यह लाइब्रेरी Google App Engine में JSON डेटा को संग्रहीत/पुनर्प्राप्त/अद्यतन/हटाने के लिए आसानी से सुलभ JSON API बनाता है। प्रत्येक JSON दस्तावेज़ तक पहुंच केवल विशिष्ट/खुली आईडी ईमेल आईडी (जैसे Google/याहू/एओएल) पर सेट की जा सकती है ...

code.google.com/p पर इस लाइब्रेरी के बारे में और पढ़ें/jsonengine/

0

नया Google Cloud Endpoints आज़माएं। वे अभी भी प्रयोगात्मक हैं, लेकिन जहां तक ​​मैंने कोशिश की है, वे पूरी तरह से काम करते हैं।

इसके अलावा, यदि आप परिभाषित करते हैं तो सरल उद्देश्यों के लिए उपयोग करना बेहद आसान है। यदि आप Google ग्रहण प्लगइन का उपयोग कर रहे हैं तो आपको केवल एक जेडीओ पर्सेंट क्लास बनाना होगा और प्लगइन स्वचालित रूप से आपके लिए एंडपॉइंट उत्पन्न करता है। Google क्लाउड एंडपॉइंट्स here के लिए Google ग्रहण प्लगइन समर्थन देखें।

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