2011-02-18 10 views
8

हम जहाँ उपयोगकर्ताओं को क्षेत्र में कुछ घटनाओं को दर्ज करने के इस एप्लिकेशन का उपयोग स्थान-सक्षम अनुप्रयोग बना रहे हैं।सुनिश्चित करना सही दिनांक/समय

घटना डेटा के महत्वपूर्ण हिस्सा है जब एक घटना हुआ। उपयोगकर्ता ऑनलाइन होने पर यह कोई समस्या नहीं है, लेकिन उपयोगकर्ता ऑफ़लाइन होने पर हम स्थितियों का भी समर्थन करते हैं (& बाद में सिंकिंग ईवेंट को याद करते हुए)।

उपयोगकर्ता ऑफ़लाइन होने पर स्थितियां हो सकती हैं और वे फ़ोन पर समय बदलती हैं, ताकि ईवेंट के समय गलत तरीके से दर्ज किए जा सकें।

तो, यह सुनिश्चित करने का सबसे अच्छा तरीका क्या होगा कि हमें सही समय मिल जाए, उपयोगकर्ता क्रियाओं से स्वतंत्र, यह डिवाइस ऑफ़लाइन हो सकता है। कुछ विचार:

  1. जीपीएस समय। क्या इसे हासिल करना संभव है?
  2. उपयोगकर्ता द्वारा किए गए ट्रैकिंग सिस्टम समय में परिवर्तन?
  3. कोई अन्य विचार?

नोट: समय को दूसरी सटीकता की आवश्यकता है, लगभग मिनट सटीकता ठीक रहेगी।

नोट 2: हम एंड्रॉइड और आईफोन के लिए मोबाइल ऐप बना रहे हैं, इसलिए मुझे सामान्य समाधान और उन समाधानों में दिलचस्पी है जो उन दो प्लेटफार्मों में से किसी एक के लिए विशिष्ट हैं।

+0

मुझे लगता है कि जीएसएम नेटवर्क वर्तमान समय प्रदान करने में सक्षम हैं और कई लोग करते हैं। तो अगर हैंडसेट नेटवर्क पर है, तो उसे उस समय सिंक करना चाहिए। –

+0

डिवाइस ऑनलाइन होने पर यह एक गैर-समस्या है - जब ईवेंट भेजे जाते हैं तो हम अपने सर्वर पर समय की जांच कर सकते हैं। समस्या तब उत्पन्न होती है जब डिवाइस ऑफ़लाइन होता है। –

+0

पीटर - इस SO टिप्पणी का दुरुपयोग करने के लिए खेद है, लेकिन मुझे आपके पास पहुंचने का कोई और तरीका नहीं मिल रहा है। मैं SO उपयोगकर्ता डेटा के विश्लेषण से संबंधित आपके ब्लॉग एंट्री पर कोई टिप्पणी पोस्ट नहीं कर सकता। पोस्ट और पूर्वावलोकन दोनों बस पृष्ठ को फिर से लोड करें। ब्लॉगस्पॉट के लिए कुकीज़ चालू हैं, मेरे पास google.com खाता है। मुझे लगता है कि कुकीज़ को कुछ अतिरिक्त तीसरे डोमेन के लिए भी जरूरी है, लेकिन जानने का कोई तरीका नहीं है। टिप्पणी यहां है; http://slashdot.org/comments.pl?sid=2328930&cid=36789036 –

उत्तर

2

मैं व्यक्तिगत रूप से इस परिदृश्य के बारे में इतनी चिंता नहीं होता। ऑफ़लाइन होने पर जानबूझकर समय पर अपने एंड्रॉइड पर समय बदलना (जो समय-समय पर पूरे समय सर्वर से सिंक हो जाता है) की संभावना है। ऐसा कहा जा रहा है कि, इसके लिए मैं क्षतिपूर्ति देख सकता हूं, एकमात्र तरीका पृष्ठभूमि में चल रही सेवा रखना है जो स्थान डेटा ऑफ़लाइन रिकॉर्ड करने के बाद सेकंड के चलने वाले तालिकाओं को जारी रखता है। एक बार आपके सर्वर पर अपलोड हो जाने पर आप वर्तमान यूटीसी समय से टाइम ऑफसेट की गणना करने के लिए विलुप्त सेकंड का उपयोग कर सकते हैं। यह एक बहुत ही भयानक है, लेकिन यह काम करेगा।

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

+0

ठीक है, इस ऐप का उपयोग करने वाली कंपनियां अपने कर्मचारियों को इस क्षेत्र में उपयोग करने की आवश्यकता होती है जब क्षेत्र में - काम शुरू करें, काम बंद करें, आदि .. तो कुछ प्रोत्साहन है कर्मचारियों से इसे ट्विक करने के लिए। विशेष रूप से अगर एक छिद्र पाया जाता है। –

+0

नकली जीपीएस स्थानों के निर्माण के बारे में अच्छा बिंदु। जांच लेंगे कि यह पता लगाया जा सकता है या नहीं। –

+0

हाँ, मैं देख सकता हूं कि ऐसी स्थिति में धोखाधड़ी कितनी संवेदनशील हो सकती है। तब विचार करें कि मेरे परिदृश्य में पृष्ठभूमि सेवाओं को मारना अभी भी संभव है। मुझे यकीन नहीं है कि क्या आप उस समय के प्रभाव को कम से कम कर सकते हैं जो डिवाइस को स्टोरेज में ऑफसेट करते हैं और स्वचालित रूप से सेवा को पुनरारंभ करते हैं। लगता है जैसे विचार करने के लिए बहुत कुछ है! –

1

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

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