मैं एक एंड्रॉइड ऐप लिख रहा हूं जो एक आरईएसटी/जेएसओएन webservice से कनेक्ट होगा। उपयोगकर्ता जानकारी पुनर्प्राप्त कर सकते हैं, टिप्पणियां अपलोड कर सकते हैं, छवियों को डाउनलोड और अपलोड कर सकते हैं आदि।एंड्रॉइड से एक webservice से कनेक्ट - AsyncTask या सेवा?
मुझे पता है कि मुझे गतिविधि/यूआई थ्रेड में यह सभी नेटवर्क संचार नहीं रखना चाहिए, क्योंकि यह एएनआर का कारण बनता है। मैं इस बारे में उलझन में हूं कि क्या मुझे इसे पूरा करने के लिए "मैनुअल" थ्रेडिंग के साथ एक AsyncTask या सेवा का उपयोग करना चाहिए;
सेवा के साथ, मेरे पास webservice के API में प्रत्येक विधि के लिए बस एक सार्वजनिक विधि होगी। मैं फिर इन तरीकों में से प्रत्येक के भीतर थ्रेडिंग लागू करना चाहता हूं।
यदि मैंने एक AsyncTask का उपयोग किया है, तो मैं एक सहायक वर्ग बनाउंगा जो webservice के API में प्रत्येक विधि के लिए AsyncTasks को परिभाषित करता है।
कौन सी विधि को प्राथमिकता दी जाती है? Webservice के साथ बातचीत केवल तभी होगी जब उपयोगकर्ता गतिविधि में है। एक बार जब वे किसी अन्य एप्लिकेशन पर स्विच हो जाते हैं, या प्रोग्राम से बाहर निकलते हैं, तो webservice के साथ संचार की आवश्यकता नहीं होती है।
सिफारिश के लिए धन्यवाद। हालांकि, इस Google आईओ वीडियो (http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html) को देखने के बाद, मैंने एक सेवा आधारित दृष्टिकोण के लिए जाने का फैसला किया। मैं अभी भी उन उदाहरणों के लिए AsyncTasks का उपयोग कर सकता हूं जहां उपयोगकर्ता को सेवा से तत्काल प्रतिक्रिया की आवश्यकता होगी (उदाहरण के लिए टिप्पणी पोस्ट करना)। सरल पृष्ठभूमि कार्यों के लिए, ऐसा लगता है जैसे AsyncTask जाने का तरीका है। – football