2012-03-07 14 views
8

मैं एंड्रॉइड ऐप और सर्वर के बीच प्रकाशित/सब्सक्राइब चैनल के रूप में पबनब का उपयोग कर रहा हूं। वर्तमान में मैं सोच रहा हूं कि मैं इसे कैसे कार्यान्वित करूंगा।एंड्रॉइड पर पबनब के लिए सर्वोत्तम अभ्यास

मैं एंड्रॉइड (https://github.com/pubnub/pubnub-api/tree/master/android) के लिए प्रदान की गई लाइब्रेरी का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि यदि मैं इसका उपयोग करता हूं तो एप्लिकेशन लाइफसाइक्ल में कुछ समस्याएं होंगी। (मुझे सही अगर मैं गलत हूँ)

मैं एक सेवा के रूप में यह लागू करने की सोच रहा था

मैं क्या चाहता हूँ

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

  • ऐप की एक घंटे की गैर-गतिविधि के बाद मैं सेवा को कैसे रोकूं? शायद एंड्रॉइड इसे मार देगा, लेकिन मुझे कुछ नियंत्रण चाहिए।

  • सेवा विशिष्ट इंटरफ़ेस बदलने के लिए ऐप को ट्रिगर करने में सक्षम होना चाहिए (जब हम एक पबनब संदेश प्राप्त करते हैं तो मैं सेवा से इरादे भेजने की सोच रहा था?), पबनब सेवा में डेटा भेज देगा, इसलिए मुझे इस डेटा को एप्लिकेशन में पास करने का एक तरीका चाहिए (संभवत: इसे इरादे में एक बंडल में सहेजें?)

  • मुझे एकाधिक पबनब चैनल (एक ही समय में अधिकतम 2) सुनने की ज़रूरत है, मुझे लगता है कि मैं करूंगा इस सेवा के कई उदाहरणों में ऐसा करना है?

मुझे लगता है कि मैं इसे इस तरह करना होगा:

  • एक सेवा है जो शुरू कर दिया है बनाएं जब एप्लिकेशन

  • लगती हैं सेवा एक pubnub चैनल

  • को सुनने जब कोई संदेश आता है, तो एक इरादा भेजें और इरादे फ़िल्टर का उपयोग करें

  • इन आंतरिक उद्देश्य

इस ऐसा करने के लिए सही रास्ता नहीं है सुनने के लिए broadcasthandlers लागू? कोई संकेत?

उत्तर

10

आपके पास इस प्रश्न में एक विस्तृत अंक हैं जो मैं इस बारे में बात करूंगा। आप एंड्रॉइड का उपयोग कर रहे हैं और आप PubNub प्रकाशित/सदस्यता परिदृश्यों के लिए सम्मेलनों और सर्वोत्तम प्रथाओं में रूचि रखते हैं।

आपका उपयोग केस बहुत आम है और ऐप्स बनाने के सर्वोत्तम तरीके हमेशा आवेदन आवश्यकताओं पर निर्भर होते हैं। हालांकि आपके पास निश्चित रूप से सही विचार है और आपने सभी सही प्रश्न पूछे हैं। आपको बस कुछ नमूना कोड और अपनी आवेदन आवश्यकताओं के विनिर्देशों को लागू करने के लिए एक दिशा की आवश्यकता है। अपनी आवश्यकताओं को एक सूची में परिभाषित करने के लिए:

  • कनेक्ट/डिस्कनेक्ट क्षमता।
  • हमेशा-पर पृष्ठभूमि सेवा जो डेटा भेज/प्राप्त कर सकती है और एंड्रॉइड उद्देश्यों के माध्यम से अन्य ऐप्स को सूचित कर सकती है।
  • उसी समय एकाधिक पबनब चैनल से कनेक्ट करना।

तो आरंभ करने के लिए मैं आपको कुछ उदाहरण और तरीकों के लिए सीधे संपर्क प्रदान करेगा:

  • एक सेवा बनाएं कि शुरू कर दिया है, जब एंड्रॉयड जूते जब: https://github.com/pubnub/pubnub-api/blob/0dfd8028b803332f5641adc909b1a26f87bd7ff1/android/PubnubAndroid/src/com/aimx/androidpubnub/BootReceiver.java
  • सदस्यता समाप्त/डिस्कनेक्ट उदाहरण कोड जब आप पबनब चैनल पर सुनना बंद करना चाहते हैं: https://github.com/pubnub/pubnub-api/blob/0dfd8028b803332f5641adc909b1a26f87bd7ff1/android/PubnubAndroid/src/com/aimx/androidpubnub/MainActivity.java - ब्लॉकिंग पबनब को रखकर एकाधिक चैनलों को सुनना आसान है। सदस्यता() विधि को थ्रेड के अंदर रखें।

    • एक सेवा है जो शुरू कर दिया है बनाएं जब एप्लिकेशन
    • सेवा एक PubNub चैनल को सुनते हैं शुरू होता है: -

    अपने विचारों के बारे में यह यह करने के लिए सही तरीके से है।

  • जब कोई संदेश आता है, तो एक इरादा भेजें और इरादा फ़िल्टर का उपयोग करें।
  • इन आंतरिक उद्देश्यों को सुनने के लिए ब्रॉडकास्ट हैंडलर लागू करें।
+1

लिंक टूटा हुआ है। क्या आप जानते हैं कि ये परियोजनाएं अभी भी उपलब्ध हैं या नहीं? –

+1

मैंने इसे github पर पाया !: https://github.com/pubnub/pubnub-api/tree/0dfd8028b803332f5641adc909b1a26f87bd7ff1/android/PubnubAndroid – Pipeline

+0

सेवा जो जीवित रहने के लिए हर 5 मिनट तक जागती है, यह बैटरी को नहीं हटाती है ? क्या यह व्हाट्सएप जैसे अन्य चैट ऐप्स के साथ होता है? –

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