उपयोग SharedPreferences,
उदाहरण के लिए।
public class Pref_Storage {
private static SharedPreferences sharedPreferences = null;
public static void openPref(Context context) {
sharedPreferences = context.getSharedPreferences(context.getResources().getString(R.string.app_name),
Context.MODE_PRIVATE);
}
public static void deleteKey(Context context, String key) {
HashMap<String, String> result = new HashMap<String, String>();
Pref_Storage.openPref(context);
for (Entry<String, ?> entry : Pref_Storage.sharedPreferences.getAll()
.entrySet()) {
result.put(entry.getKey(), (String) entry.getValue());
}
boolean b = result.containsKey(key);
if (b) {
Pref_Storage.openPref(context);
Editor prefsPrivateEditor = Pref_Storage.sharedPreferences.edit();
prefsPrivateEditor.remove(key);
prefsPrivateEditor.commit();
prefsPrivateEditor = null;
Pref_Storage.sharedPreferences = null;
}
}
public static void setDetail(Context context, String key, String value) {
Pref_Storage.openPref(context);
Editor prefsPrivateEditor = Pref_Storage.sharedPreferences.edit();
prefsPrivateEditor.putString(key, value);
prefsPrivateEditor.commit();
prefsPrivateEditor = null;
Pref_Storage.sharedPreferences = null;
}
public static Boolean checkDetail(Context context, String key) {
HashMap<String, String> result = new HashMap<String, String>();
Pref_Storage.openPref(context);
for (Entry<String, ?> entry : Pref_Storage.sharedPreferences.getAll()
.entrySet()) {
result.put(entry.getKey(), (String) entry.getValue());
}
boolean b = result.containsKey(key);
return b;
}
public static String getDetail(Context context, String key) {
HashMap<String, String> result = new HashMap<String, String>();
Pref_Storage.openPref(context);
for (Entry<String, ?> entry : Pref_Storage.sharedPreferences.getAll()
.entrySet()) {
result.put(entry.getKey(), (String) entry.getValue());
}
String b = result.get(key);
return b;
}
}
उपयोग:
पहले लॉगिन जांच login_flag:
if (Pref_Storage.checkDetail(getApplicationContext(), "login_flag"))
{
// Home Screen
}
else
{
//Display Login Screen
}
लॉग इन login_flag सेट करने के बाद: 5 मिनट के बाद
Pref_Storage.setDetail(getApplicationContext(), "login_flag", "0");
स्रोत
2015-09-02 09:33:31
ऑटो लॉगआउट? प्रत्येक 5 मिनट में लॉगिन टोकन को मजबूती से समाप्त करें जब तक कि उपयोगकर्ता फोन पर कुछ कार्रवाई न करे। उस मामले में अगले 5 मिनट के लिए टोकन नवीनीकृत करें। – Rohit5k2
सर्वोत्तम प्रथाओं में आपने परिस्थितियों में शामिल किया है जैसे उपयोगकर्ता का फोन गुम हो गया है और वह अभी भी लॉग इन है। लॉगिन अस्वीकार करना इस मामले में संभावित व्यवसाय का नुकसान है! मैं सभी संभावित परिस्थितियों को सूचीबद्ध करके शुरू करूंगा और जो भी सतहों के पेशेवरों और विपक्ष का वजन उठाऊंगा! –
हां नरसिम्हान। ये परिदृश्य हैं जिन्हें मैं संभालना चाहता हूं। उपयोगकर्ता लॉग इन है और उसका फोन ऐप खो गया/प्रारूप/अनइंस्टॉल करता है। तो मैं इस तरह की स्थितियों को कैसे संभालेगा। एक यह है कि यदि उपयोगकर्ता दूसरे डिवाइस से लॉग इन करता है तो वह स्वचालित रूप से पहले डिवाइस से लॉग आउट हो जाता है। दूसरा समाधान यह है कि यदि वह 1 स्थान से लॉग इन है और दूसरे स्थान से बाद में लॉगिन करने की कोशिश करता है तो उसे इसके बारे में ईमेल किया जाना चाहिए। लेकिन मुझे डिवाइस आईडी को डीबी में – iGod