2013-12-09 4 views
6

में एंड्रॉइड पृष्ठभूमि सेवा डेल्फी XE5 (firemonkey) का उपयोग करके मुझे एंड्रॉइड के लिए कुछ सेवा लिखनी है। उस सेवा को बैकगॉन्ग में चलाने और समय-समय पर एसएमएस इनबॉक्स पढ़ने की आवश्यकता है, इसे एसक्यूलाइट डीबी (एसएमएस बैकअप) में लिखना।डेल्फी XE5

मुझे पता है कि एसएमएस कैसे पढ़ा जाए और इसे डीबी को कैसे लिखना है, लेकिन मुझे नहीं पता कि ऐप को सेवा के रूप में पृष्ठभूमि में कैसे काम करना है।

कोई भी विचार?

पीएस .: आपके उत्तरों के लिए धन्यवाद। पीपीएस .: मेरे खराब अंग्रेजी के लिए खेद है।

+1

आपने नौकरी के लिए गलत उपकरण चुना है। यह मूल विकास टूलिंग के साथ स्पष्ट रूप से किया जाता है। –

उत्तर

4

आप अकेले XE5 के साथ ऐसा नहीं कर सकते हैं लेकिन आप जावा से थोड़ी मदद के साथ ऐसा कर सकते हैं।

ब्रायन लांग इस विषय पर एक दो parter प्रकाशित किया है:

http://blog.blong.com/2013/11/delphi-and-android-services.html

http://blog.blong.com/2013/11/delphi-and-android-services-part-2.html

+0

एक तीसरा हिस्सा भी था, जिसमें बाद के संस्करणों के लिए एक अद्यतन शामिल था - http://blog.blong.com/2015/02/delphi-and-android-services-part-3.html - बेशक डेल्फी 10 सिएटल एंड्रॉइड सेवाओं के लिए मूल समर्थन है। – blong

0

Android services विंडोज सेवाओं के रूप में ही नहीं हैं। यदि आप एंड्रॉइड सेवा का उपयोग करते हैं, तो यह अभी भी आपके एप्लिकेशन के मुख्य थ्रेड में चलता है। जब डिवाइस नींद मोड में प्रवेश करता है तो वे रुक जाते हैं। साथ ही, प्रणाली कम स्मृति और संभवतः अन्य स्थितियों में सेवा को समाप्त कर सकती है।

प्रलेखन से

:

आमतौर पर, एक शुरू कर दिया सेवा एक भी कार्रवाई निष्पादित करता है और वापसी फोन करने वाले के लिए एक परिणाम नहीं करता है। उदाहरण के लिए, यह डाउनलोड हो सकता है या नेटवर्क पर एक फ़ाइल अपलोड करें। जब ऑपरेशन किया जाता है, तो सेवा स्वयं को रोकनी चाहिए।

और

"यदि सेवा शुरू किया गया था और लंबे समय से चल रहा है, तो प्रणाली पृष्ठभूमि कार्यों की सूची में अपनी स्थिति समय के साथ कम करेगा और सेवा अत्यधिक के लिए अतिसंवेदनशील हो जाएगा हत्या "

सेवाओं के बजाय, अलार्ममेनगर बेहतर विकल्प हो सकता है। यह एक सिस्टम सेवा है, जो आपको बताए जाने पर क्रियाएं निष्पादित करेगी, उदाहरण के लिए समय-समय पर।