2012-03-19 7 views
7

मैंने एक एंड्रॉइड ऐप बनाया है जो ठीक काम कर रहा है। मैंने इसमें लॉगिन कार्यक्षमता लागू की। क्या कोई मुझे मार्गदर्शन कर सकता है कि उपयोगकर्ता के लॉगिन प्रमाण-पत्रों को कैसे स्टोर किया जाए ताकि उपयोगकर्ता को ऐप शुरू करने पर हर बार लॉगिन करना पड़े और जब उपयोगकर्ता लॉगआउट संग्रहीत लॉगिन जानकारी को साफ़ करता है।एंड्रॉइड में स्थानीय रूप से लॉगिन जानकारी को कैसे सहेजना है

दरअसल मैं चाहता हूं कि उपयोगकर्ता को ऐप शुरू करने पर हर बार लॉगिन जानकारी दर्ज न करें। मैं यह कैसे कर सकता हूं?

उत्तर

28

स्टोर मूल्य शेयरपेरेंस का उपयोग करें। मैं यहाँ कोड चिपका रहा हूँ .. इसे मजा करो। शेयर वरीयता से

SharedPreferences sp=getSharedPreferences("Login", MODE_PRIVATE); 
SharedPreferences.Editor Ed=sp.edit(); 
Ed.putString("Unm",Value);    
Ed.putString("Psw",Value); 
Ed.commit(); 

प्राप्त मूल्य:

बनाएं शेयर पसंद

SharedPreferences sp1=this.getSharedPreferences("Login", MODE_PRIVATE); 

String unm=sp1.getString("Unm", null);  
String pass = sp1.getString("Psw", null); 

उपयोगकर्ता लॉगआउट तो आप sharedpreference में शून्य मान सेट कर सकते हैं।

+0

पद sharedpreference मूल्य भी साफ़ करने के लिए कोड दिखाते हैं। –

+0

असल में मैं चाहता हूं कि उपयोगकर्ता को ऐप शुरू करने पर हर बार लॉगिन जानकारी दर्ज न करनी पड़े। मैंने आपके द्वारा टाइप किए गए कोड का उपयोग किया है, लेकिन मुझे अपनी समस्या हल नहीं हुई ............ – nikki

+0

ठीक है, इसलिए यदि आप islogin सत्य है तो आप शेयर वरीयता में एक बूलियन सेट कर सकते हैं तो यह अगली स्क्रीन ले जायेगा। – Hasmukh

0

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

0

आप निम्न विधियों में से हर एक का उपयोग कर सकते हैं: - SharedPreferences - डेटाबेस - फाइल सिस्टम

बेशक

प्रत्येक विधि यह पक्ष-विपक्ष है।

1

मुझे लगता है कि सबसे अच्छा समाधान साझा वरीयता है। केवल एक प्रविष्टि के लिए, संपूर्ण डेटाबेस बनाने और इसे पूछने के लिए बेकार है। और फ़ाइल सिस्टम एक संरचित समाधान प्रदान नहीं करता है। (कुंजी मान जोड़े)

यूआई के लिए, मुझे लगता है कि आप दो टुकड़े होना चाहिए अगर उपयोगकर्ता पंजीकृत है उसे MainFragment और यदि नहीं LoginFragment

+0

वहां सहेजे गए डेटा को सुरक्षित करने के लिए मत भूलना। – MarkySmarky

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