5

enter image description here मैं एंड्रॉइड ऐप विकास के लिए नया हूं। मेरे पास एक छोटा सा मुद्दा है। मेरे एंड्रॉइड एप्लिकेशन पर काम करना अचानक "होम" बटन दबाता है, इसलिए यह कुछ समय बाद पृष्ठभूमि में जाता है " होम "और मेरे ऐप आइकन पर क्लिक करें, फिर से यह मेरी पहली स्क्रीन से शुरू हो रहा है, इसके बजाय मैंने पिछली देखी गई गतिविधि को रखा है और" आपका सत्र समय समाप्त हो गया है, तो संदेश दोबारा दर्ज करना चाहिए ताकि कृपया दो संपादन टेक्स्ट बॉक्स के साथ बॉक्स को फिर से लॉग ऑन कर सकें "फिर क्रेडेंशियल जांचें और उपयोगकर्ता को लॉगिन स्क्रीन पर जारी रखने या रीडायरेक्ट करने की अनुमति दें। इसे कैसे प्राप्त करें।एंड्रॉइड एप्लिकेशन में सत्र टाइमआउट हैंडलिंग को बनाए रखने के लिए कैसे करें

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

+0

क्या आप सर्वर क्लाइंट आर्किटेक्चर का उपयोग कर रहे हैं? – Shrikant

+0

नहीं, मैं सिर्फ लॉगिन सुरक्षित रखना चाहता हूं ... – Srinivasan

उत्तर

3

एंड्रॉइड में यह आसान है। आपको SharedPreferences बनाए रखने की आवश्यकता है।

अवधारणा की बेहतर समझ के लिए this पढ़ें।

SharedPreferences pref = myContexy.getSharedPreferences("Session Data", MODE_PRIVATE); 
SharedPreferences.Editor edit = pref.edit(); 
edit.putString("User Name", username); 
edit.putString("Password", password); 
edit.putInt("Session ID", session_id); 
edit.commit(); 

और मिल उन्हें

SharedPreferences pref = myContexy.getSharedPreferences("Session Data", MODE_PRIVATE); 
username = pref.getString("User Name", ""); 
password = pref.getString("Password", ""); 
session_id = pref.getInt("Session ID", 0); 
+4

मुझे नहीं लगता कि यह उपयोगकर्ता के पासवर्ड को स्टोर करना सुरक्षित है। यह कानूनी या अच्छी प्रथा प्रतीत नहीं होता है। – Swami

+1

मैं पूरी तरह से सहमत हूं। यह सुरक्षित नहीं है। –

1

गतिविधि जीवन चक्र के लिए स्पष्टीकरण इस चित्र देखें: http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

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

+0

आपके उत्तर के अनुसार, एप्लिकेशन केवल गतिविधि गतिविधि चक्र के आधार पर दृश्यमान या अदृश्य दिखाई देगा। लेकिन प्रश्न सत्र समय को बनाए रखने के तरीके के बारे में है, यानी यदि सत्र का समय समाप्त हो जाता है, तो ढेर से सभी गतिविधियां साफ़ कर दी जाएंगी और उपयोगकर्ता को स्क्रीन में लॉग इन करने के लिए नेविगेट किया जाएगा। – Shrikant

2

SharedPreferences निश्चित रूप से है:

यह, आप कर सकते हैं उपयोगकर्ता नाम, पासवर्ड और सत्र आईडी को बचाने के लिए के रूप में

==> when ever you are trying to maintain login concept save user name in the sharedpreference. 
==> once data is edited in prefernces.xml , the data in it can be check in any Activity. 

काम करेंगे उदाहरण के लिए, जाने का रास्ता, लेकिन टाइमआउट के लिए अधिक जानकारी में जाना:

  • सहेजें onPause() में वर्तमान टाइमस्टैम्प (->SharedPreferences)
  • फिर onResume() में इसकी तुलना, समय समाप्त

आप समय-समाप्त नहीं किया, तो बस जारी रखने के लिए के लिए जाँच करने के लिए, नहीं तो यह है कि अच्छा दिखाने स्क्रीन, बस लॉगआउट, डिवाइस को स्वयं को नष्ट करना, या जो भी आप उस मामले में करना चाहते हैं :-)

इसके अलावा आप उच्च स्तर पर इसे संभालने के लिए किसी प्रकार के सत्र प्रबंधक वर्ग को लागू करने पर विचार कर सकते हैं: Nice example/tutorial from android hive

+1

आत्मनिर्भरता/मिशन असंभव संदर्भ के लिए +100 बहुत स्पष्ट स्पष्टीकरण – MandisaW

0

यदि आप उपयोगकर्ता लॉगिन सत्र को बनाए रखना चाहते हैं तो सभी गतिविधियों में वरीयता रखने के बजाय हमारे पास हैंडलर इनस्थल करने के लिए हो सकता है।

  1. उपयोगकर्ता logsin
  2. सेट sendMessageAtTime (संदेश, लंबे समय से) के बाद हैंडलर बनाएँ, लंबे मिलीसेकंड मान है। यह परिभाषित लॉगआउट फ़ंक्शन को कॉल करेगा।
संबंधित मुद्दे