2011-12-09 12 views
20

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

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

मैंने https://www.parse.com पढ़ा है और यह दिलचस्प और उपयोग करने में आसान लगता है लेकिन मैं ऐसा कुछ नहीं सीखना चाहता जो मानक नहीं है या मैं केवल अपने ग्राहक के साथ उपयोग करने में सक्षम हूं।

+0

शायद आप कुछ और विकल्पों को देखना चाहते हैं, जिन्हें इस प्रश्न में समझाया गया है: http://stackoverflow.com/questions/7912570/ready-to-use-backend-for-mobile-applications/10235975# 10235 9 75 – Andreas

उत्तर

28

मैंने पहले कभी पार्स का उपयोग नहीं किया है, लेकिन यह आपके लिए सभी सर्वर-साइड कोड लिखने की चिंता करने का एक आसान तरीका प्रतीत नहीं होता है, नकारात्मकता यह है: जितना अधिक आप इसका उपयोग करना चाहते हैं और आप हैं उनके एपीआई और चीजों को करने के तरीके में भी बंधे हैं। यदि आप पार्स का उपयोग करते हैं, तो आपको केवल अपने एंड्रॉइड ऐप के लिए पार्स से बातचीत करने के लिए कोड लिखने की चिंता करनी होगी। आप इसके दस्तावेज के विवरण के लिए देख सकते हैं।

सस्ता मार्ग थोड़ा और काम शामिल है। आप बैकएंड

  • सर्वर साइड भाषा (अर्थात् जावा, पीएचपी, अजगर .. सूची पर चला जाता है) अपने Android आवेदन से/संभाल अनुरोधों को नियंत्रित करने की मेजबानी के लिए एक

    • सर्वर की आवश्यकता होगी।

    • एक डेटाबेस (MySQL, PostgreSQL, ओरेकल, आदि) स्कीमा आप चाहते हैं के साथ सेटअप (यानी एक उपयोगकर्ता तालिका)

    सामान्य प्रवाह है: अपने Droid एप्लिकेशन http://yourserver.com/BackendFunction के लिए एक अनुरोध बनाना होगा उस समारोह के पैरामीटर के साथ। आपकी सर्वर साइड स्क्रिप्टिंग भाषा बैकएंड कार्य करेगी (यानी डेटाबेस में उपयोगकर्ता जोड़ना)। प्रासंगिक जानकारी के साथ सर्वर कुछ जानकारी (आमतौर पर जेएसओएन या एक्सएमएल, जिसे भी आप चुनते हैं) के साथ अपने आवेदन पर प्रतिक्रिया देते हैं, और आपका ऐप उस जानकारी का एक अच्छा दृश्य प्रदर्शित करता है।

    आपको किसी भी सर्वर-साइड भाषा & डेटाबेस का उपयोग कर रहे डेटाबेस और HTTP अनुरोध & प्रतिक्रियाओं को भेजने/प्रबंधित करने के तरीके के साथ डेटाबेस से पूछताछ करने की आवश्यकता होगी।

  • +0

    धन्यवाद! यह मूल रूप से मैं जानना चाहता था, इस बारे में सीखने के लिए ट्यूटोरियल्स या वास्तव में कुछ भी सुझावों पर कोई सुझाव? मुझे लगता है कि जावा सर्वर पक्ष का उपयोग करना मेरी सबसे अच्छी शर्त होगी क्योंकि मुझे पहले से ही कुछ पता है लेकिन मैं अजगर सीखने की सोच रहा था। – Peter

    +2

    यहां एक [पायथन वेब ढांचे की सूची] है (http://wiki.python.org/moin/WebFrameworks) और [जावा फ्रेमवर्क] (http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#Java)। आपको बहुत कुछ सीखने की ज़रूरत है, यह एक गहरी विषय है। कुछ वेब ढांचे एक मॉडल-व्यू-कंट्रोलर डिज़ाइन का पालन करते हैं। आप अपने ऐप के लिए अपने सर्वर पर दृश्य बनाने को अनदेखा कर सकते हैं और केवल मॉडल (डेटाबेस ऑब्जेक्ट्स) और कंट्रोलर को कोड कर सकते हैं (उन डेटाबेस ऑब्जेक्ट्स को आपके ऐप पर प्राप्त करना)। ढांचे के लिए प्रलेखन पढ़ें - देखें कि क्या आप एक यूआरएल बना सकते हैं, इसमें कुछ डेटा जमा करें और इसे डेटा वापस कर दें। – JMoy

    +0

    यहां तक ​​कि मैं एक ही जवाब खोज रहा था। क्या कोई ऑनलाइन संसाधन है, जो मुझे इस शुरुआत से अंत तक मार्गदर्शन कर सकता है? मुझे लगता है कि आप अकेले हैं जो प्रश्न को सही ढंग से समझते हैं! –

    5

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

    मेरी हाल ही में एंड्रॉयड परियोजना के लिए, मैं EKTORP (http://www.ektorp.org) है कि मुझे एक सर्वर साइड CouchDB उदाहरण के लिए दोहराने के लिए अनुमति देने के साथ काउचबेस के Android पुस्तकालयों (http://www.couchbase.org) का उपयोग किया गया है।यह कई कारणों से के लिए महान हो गया है:

    • HTTP का उपयोग
    • एक JSON प्रारूप में डेटा भेजता है डिफ़ॉल्ट रूप से डेटा भेजने के लिए (कोई परिवर्तित - बाध्यकारी/serializing)
    • सरल EKTORP में आदेश 'दोहराने' क्लाइंट और सर्वर के बीच/धक्का डेटा खींचने के लिए

    इसके अलावा, डेटा स्टोर के आधार पर, आप अभी भी कुछ चीजें पर फैसला करना होगा:

    • आप सर्वर पर डेटा किस प्रारूप को भेजेंगे? मैं JSON की सिफारिश करेंगे। अन्य विकल्प एक्सएमएल या वाईएमएल हैं।
    • आप क्लाइंट पर उस डेटा को परिवहन के लिए कैसे परिवर्तित करेंगे? यदि आप JSON चुनते हैं तो जैक्सन-जेसन लाइब्रेरी अद्भुत है।
    • क्या आपको अपने चुने हुए डेटा प्रारूप की सुरक्षा और/या अनुवाद करने के लिए मध्य-स्तर की आवश्यकता है? यदि आप मध्य-स्तर की आवश्यकता रखते हैं तो आप आराम से आधारित वेबसाइसेस बनाने के लिए स्प्रिंग एमवीसी देखना चाहेंगे।

    यह मुश्किल लग सकता है (सर्वर-साइड सामान कभी-कभी ऐसा महसूस करता है), लेकिन इसे रखें और आपको यह मिल जाएगा!

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