अपने लक्ष्य को प्राप्त करने के लिए आपको क्या जानना चाहिए, इसका संक्षिप्त विवरण यहां दिया गया है। मैं उस विस्तार में नहीं जा रहा हूँ, खासकर जब से मैंने व्यक्तिगत रूप से कभी भी RoR का उपयोग नहीं किया है। ध्यान दें कि इनमें से कुछ भाग आरओआर से बिल्कुल संबंधित नहीं हो सकते हैं, लेकिन इसके पीछे सामान्य विचार अभी भी लागू होता है। मैं शोध करने और प्रत्येक व्यक्तिगत घटक को लागू करने का तरीका जानने के लिए इसे आप पर छोड़ दूंगा।
हर चीज का सामान्य प्रवाह इस प्रकार है:
Android ऐप <==> नेटवर्क <==> वेब सेवा <==> MySQL
दोधारी तीरों पर ध्यान दें क्योंकि डेटा दोनों दिशाओं में प्रवाहित होगा।
Android App
क्लाइंट है, और Web Service
और MySQL
डेटाबेस आपके Web Server
. पर स्थित हैं . मैंने पूर्णता के लिए केवल नेटवर्क भाग शामिल किया है, लेकिन नेटवर्क पर डेटा भेजे जाने के बाद आपको कुछ भी नहीं करना चाहिए।
प्रत्येक अनुभाग का संक्षिप्त अवलोकन:
एंड्रॉइड ऐप:
एंड्रॉइड ऐप वह क्लाइंट है जो वेब सर्वर से डेटा भेजता और पुनर्प्राप्त करता है। मैं मान रहा हूं कि आपके ऐप में आप उपयोगकर्ता को कुछ कार्य करने की अनुमति देने जा रहे हैं जो संक्षेप में वह डेटा बन जाता है जिसे आप किसी बिंदु पर सर्वर पर भेजना चाहते हैं।
उदाहरण के लिए, उपयोगकर्ता को अपना नाम और पसंदीदा जानवर दर्ज करने में सक्षम होना चाहिए। मान लें कि एक वास्तविक "सबमिट" बटन है जिसे उपयोगकर्ता क्लिक कर सकता है। जब यह "सबमिट" बटन क्लिक किया जाता है, तो इसे डेटा को एक उचित प्रारूप में लपेटना चाहिए जिसे पूरे नेटवर्क में भेजा जा सके। दो सबसे आम हैं JSON
और XML
. एक बार डेटा को ठीक से स्वरूपित कर दिया गया है, तो आप कुछ प्रकार के नेटवर्क प्रोटोकॉल जैसे HTTP
का उपयोग करके सर्वर को डेटा भेजना चाहेंगे। . डेटा भेजने के लिए, निश्चित रूप से आपके पास कुछ URL
. होना चाहिए लक्ष्य के रूप में। मान लें कि लक्ष्य www.example.com/webservice.php
है . यह लक्ष्य वेब सर्वर पर स्थित हमारी वेब सेवा है।
एक बार जब आप डेटा भेज देते हैं, तो सर्वर कुछ डेटा के साथ प्रतिक्रिया देगा, जिस बिंदु पर आप इसके साथ जो चाहें कर सकते हैं। हो सकता है कि इसे उपयोगकर्ता को प्रदर्शित करें, या इसे SQLite
. में चिपका दें डेटाबेस, या दोनों भी।
याद रखने वाली मुख्य बात यह है कि कोई जादू नहीं चल रहा है। मैंने अभी जो कुछ भी वर्णित किया है वह जावा कोड में लागू किया जाएगा जिसे आप किसी समय अपने Android एप्लिकेशन में लिखेंगे।
मुख्य विचार जिन पर आपको अधिक शोध करना चाहिए और यह पता लगाना चाहिए कि जावा कोड में कैसे लागू किया जाए:
- JSON और XML
- जावा में HTTP
- आराम और साबुन
- यहां आपके Android ऐप की संरचना को सेट करने के संभावित तरीकों पर एक उत्कृष्ट वीडियो है।
- सुनिश्चित करें कि आप अपने Android ऐप में सभी नेटवर्क संचालन एक अलग थ्रेड पर कर रहे हैं। उपयोग में आसान एक Intent Service है। ।
वेब सेवा:
यह अक्सर सबसे भ्रमित करने वाला हिस्सा होता है। एक Web Service
Web Server
तक पहुंचने का प्रयास करने वाले ग्राहकों के लिए बस कुछ प्रवेश बिंदु है . RoR
. का उपयोग करते समय मेरी व्याख्या यहां थोड़ी भिन्न हो सकती है , लेकिन वही विचार लागू होता है। ऊपर ध्यान दें कि लक्ष्य URL
था www.example.com/webservice.php
. वेब सेवा का शाब्दिक अर्थ है PHP
वेब सर्वर पर मौजूद कोड, जिसे webservice.php
. कहा जाता है . अपने Android ऐप में, जब आप लक्ष्य को डेटा भेजते हैं URL
HTTP
. का उपयोग करके , वेब सेवा कोड सर्वर पर निष्पादित किया जाएगा (और आपके द्वारा इसे भेजे गए डेटा तक भी पहुंच होगी)। अपने वेब सेवा कोड के अंदर, आप मूल रूप से डेटा निकाल रहे होंगे (जो कि JSON जैसे कुछ प्रारूप में है), आवश्यक भागों को हथियाने और फिर इसके साथ कुछ करने के लिए। इस मामले में आप सबसे अधिक संभावना डेटाबेस से पूछ रहे होंगे। PHP में कोड लिखना आसान है जो सर्वर पर चल रहे MySQL डेटाबेस को जोड़ता है और क्वेरी करता है। जब वेब सर्वर द्वारा डेटाबेस की प्रतिक्रिया प्राप्त की जाती है, तो आप इसे वापस Android ऐप पर भेज सकते हैं। पहले की तरह याद रखें, कोई जादू नहीं चल रहा है। इन सभी विचारों को कुछ कोड लिखकर कार्यान्वित किया जाता है।
शोध के मुख्य उपाय:
- रूबी ऑन रेल्स वेब सेवा
- रूबी ऑन रेल्स का उपयोग करके MySQL डेटाबेस तक कैसे पहुंचें
MySQL डेटाबेस:
यह वह जगह है जहां आप वेब सर्वर पर डेटा स्टोर करेंगे। मैं यहाँ इसकी गहराई में नहीं जा रहा हूँ क्योंकि इसके लिए आपको वेब सर्वर पर MySQL डेटाबेस सेट करने के तरीके के बारे में बहुत कुछ पढ़ने की आवश्यकता होगी। यह भी महत्वपूर्ण है कि आप SELECT
. जैसी उपयुक्त क्वेरी बनाना सीखें , INSERT
और आगे।
शोध के मुख्य विचार:
वेब सर्वर पर MySQL डेटाबेस कैसे सेटअप करें
यदि आपको किसी स्पष्टीकरण की आवश्यकता है, तो मुझे बताएं!