2012-02-12 10 views
7

मैं एक ऐसा एप्लीकेशन लिखना चाहता हूं जो विभिन्न सेंसर (जीपीएस, एसीसी, गेरो, कम्पास) से जितना संभव हो उतना सेंसर वाउल्स (प्रति बार) पढ़ता है। इसलिए मुझे जांच करनी है कि एनडीके का उपयोग करने में कोई फायदा है या नहीं।एंड्रॉइड: एनडीके के उपयोग से सेंसर नमूना दर में सुधार और मतदान

यहाँ मेरी प्रश्न हैं:

क) जब एक सेंसर से सेंसर मूल्यों को पढ़ने टोंटी क्या है? क्या यह स्वयं या जावा है? क्या मैं एनडीके का उपयोग कर दर बढ़ा सकता हूं? (मुझे लगता है कि जीपीएस के लिए बाधा सेंसर ही है, लेकिन मैंने पढ़ा है जैसे कि Gyro-सेंसर काफी तेज़ है) मुझे this thread मिला और ऐसा लगता है कि बाधा सेंसर है। क्या कोई इसकी पुष्टि कर सकता है?

बी) क्या EventListener का उपयोग करने के बजाय मतदान दर में वृद्धि करता है? सेंसर मूल्यों को तेज़ी से पढ़ने का सबसे अच्छा तरीका क्या है?

सी) क्या एनडीके का उपयोग आवेदन की बिजली खपत पर कोई प्रभाव है? मुझे इसके बारे में कुछ नहीं मिला।

डी) मैं एंड्रॉइड के लिए नया हूं। क्या सामान्य जावा के बजाय एनडीके का उपयोग करना ज्यादा खर्च है? इस sample-code के अनुसार यह घटना-कतार का उपयोग करके सेंसर के साथ बातचीत करने के लिए सीधा लगता है, लेकिन कोड को संकलित करने और एप्लिकेशन से इसका उपयोग करने के लिए कितना खर्च है?

अग्रिम धन्यवाद।

उत्तर

0

जब आप अपना सेंसर श्रोता पंजीकृत करते हैं तो आपको SensorManager.SENSOR_DELAY_FASTEST से registerListener() पास करने की आवश्यकता होती है।

अधिक जानकारी के लिए http://developer.android.com/reference/android/hardware/SensorManager.html का संदर्भ लें।

+0

आपके उत्तर देने के लिए धन्यवाद, लेकिन यह वह नहीं है जिसे मैं पूछ रहा था। सवाल यह था कि जावा (एसडीके) के बजाय सी ++ (एनडीके) का उपयोग करने में कोई फायदा है या नहीं। – steckl

+0

हम जावा से जी-सेंसर डेटा पास करने के लिए जेएनआई का उपयोग कर रहे हैं और इसके साथ कोई समस्या नहीं मिली है। –

+0

क्या आपको अपनी विधि से कोई लाभ मिलता है? आप सीधे एनडीके के सेंसर-इंटरफेस का उपयोग क्यों नहीं करते? मेरे लिए आपकी विधि का कोई लाभ नहीं है, क्योंकि मैं सेंसर डेटा के साथ कोई गणना नहीं करता, मैं बस इसे सर्वर पर अग्रेषित करता हूं। – steckl

0

अनुभव से, मैं कम से कम अपने प्रश्नों के पहले जवाब कर सकते हैं:

क) आधार जावा कई सेंसरों से निपटने के लिए पर्याप्त रूप से तेज़ का उपयोग करना। मेरे अनुप्रयोगों में से एक में, मैंने एक्सेलेरोमीटर, Gyroscope, मैग्नेटोमीटर, गेम रोटेशन वेक्टर और अनकलेब्रेटेड मैग्नेटोमीटर को एक बार SENSOR_DELAY_FASTEST के साथ पढ़ा।

इस के शीर्ष पर मैंने डेटा के फ़िल्टरिंग और भंडारण का एक गुच्छा भी किया, साथ ही रोटेशन का ट्रैक रखने के लिए कुछ quaternion गणित भी किया। कच्चे डेटा को देखकर (जिसे मैंने एक .txt फ़ाइल में भी सहेजा था), वहां कोई गुम डेटा या देरी नहीं लगती थी (टाइम स्टैंप के बीच औसत अंतर एक गणना के बिना एक सेंसर चलाने जैसा ही था)।

तो मेरे मामले में, सेंसर जितनी जल्दी हो सके काम कर रहे थे और जावा ठीक रहेगा।

...

कहा, यदि आप संगणना की बहुत बड़ी मात्रा में कर रहे हैं, NDK का उपयोग कर कोशिश कर रहा लायक हो सकता है।

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