2010-07-26 5 views

उत्तर

5

केवल एक सेवा कक्षा का विस्तार करने से आपकी सेवा बाहरी इकाइयों को अपनी विधियों का पर्दाफाश करने की अनुमति नहीं देगी। यदि आप चाहते हैं कि आपकी एंड्रॉइड ऐप से बाहर निकलने वाली कोड द्वारा आपकी सेवा का खुलासा/उपयोग किया जाए, तो आपको इसके लिए एआईडीएल परिभाषित करना होगा। यह एआईडीएल साझा किया जाएगा और आपकी सेवा के लिए अनुबंध के रूप में गठित किया जाएगा। इसे http://developer.android.com/guide/components/aidl.html देखें।

+3

लेकिन यह सोचते हैं अपने ऐप्लिकेशन, सेवा का उपयोग करता है वहाँ AIDL उपयोग करने के लिए कोई कारण नहीं है - यह सही है? – MalcomTucker

+1

सही। लेकिन फिर आप उस मामले में एक सेवा क्यों बनाना चाहेंगे। –

+1

मैंने अपने ऐप में एक बड़ा डाउनलोड करने के लिए एक स्थानीय सेवा बनाई। इस तरह से मुझे कुछ और नियंत्रण और सुरक्षा हो सकती है, फिर केवल एक असिनक कार्य जिसे हर बार मार दिया जा सकता है। जैसा कि मैं एक ऐसी गतिविधि को समझता हूं जो किसी गतिविधि से जुड़ा हुआ है, यदि संसाधन दुर्लभ हैं तो मारने की संभावना नहीं है। – Janusz

6

यदि आप सेवा तक पहुंचने के लिए अपने आवेदन की प्रक्रिया के बाहर कक्षा चाहते हैं तो आपको एआईडीएल का उपयोग करने की आवश्यकता है। यदि आप केवल अपने आवेदन के अंदर से सेवा का उपयोग कर रहे हैं, तो आप local service का उपयोग कर सकते हैं।

0

1. सहायता सहायता आधारित सेवा का उपयोग करने के लिए।

कुछ लाभ

बैकएंड सेवा में अपने कोड के खंड हिस्सा द्वारा प्राप्त किया जा सकता:

  • दसगुणा सामने के अंत और बैकएंड
  • स्मृति/CPU गहन प्रसंस्करण बैकएंड सेवा, जीसी करने के लिए खड़ी की जा सकती है सेवा में सामने के अंत उपयोगकर्ता अनुभव को प्रभावित नहीं करेगा
  • सेवा दुर्घटना एक ऐसी सेवा बनाने के लिए पूरे एपीपी

2.how नीचे लाने नहीं होगा

मैं एक अच्छा पुस्तकालय लिखा है, तो आप एक उदाहरण के रूप उल्लेख कर सकते हैं http://github.com/zhchang/hogwarts

0

AIDL

एंड्रॉयड इंटरफ़ेस परिभाषा भाषा (AIDL) डेवलपर्स एक प्रोग्रामिंग इंटरफेस को परिभाषित करने की अनुमति देता है कि क्लाइंट और सर्वर उपयोग करने के लिए इंटर-प्रोसेस कम्युनिकेशन (आईपीसी) का उपयोग करके एक दूसरे के साथ संवाद करें।

यह आलेख दिखाता है कि एंड्रॉइड में चल रही सेवा से कैसे कनेक्ट करें, और दूरस्थ/चल रही सेवा से डेटा कैसे पुनर्प्राप्त करें।

आईपीसी तंत्र का उदाहरण

Let RemoteService एक ग्राहक सेवा और RemoteServiceClient दूरस्थ सेवा के साथ संवाद करने के लिए एक गतिविधि हो सकता है।

एक सेवा गणित संचालन के बारे में जानकारी प्रदान करती है जैसे दिए गए दो पूर्णांक के लिए अतिरिक्त, घटाव और गुणा। सेवा क्या कर सकती है की कार्यक्षमता का पर्दाफाश करने के लिए, प्रोजेक्ट निर्देशिका में एक .aidl फ़ाइल बनाएं।

AIDL Example

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