AccountManager.java
1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package com.studymachine.www.manager;
import com.google.gson.reflect.TypeToken;
import com.hjq.gson.factory.GsonFactory;
import com.tencent.mmkv.MMKV;
import java.util.HashMap;
import java.util.Map;
/**
* 本地保存账号管理
*/
public class AccountManager {
private static volatile AccountManager accountManager;
private final static String ACCOUNT_TAG = "studyMachineAccount";
private Map<String, String> accountMap;
public static AccountManager getInstance() {
if (accountManager == null) {
synchronized (UserManager.class) {
if (accountManager == null) {
accountManager = new AccountManager();
}
}
}
return accountManager;
}
public Map<String, String> getAccountMap() {
if (accountMap == null) {
String json = MMKV.defaultMMKV().decodeString(ACCOUNT_TAG, null);
accountMap = GsonFactory.getSingletonGson().fromJson(json, new TypeToken<Map<String, String>>() {
}.getType());
}
return accountMap;
}
public void addAccountMap(String phone,String password) {
if (accountMap == null) {
accountMap=new HashMap<String,String>();
}
accountMap.put(phone,password);
setAccountMap(accountMap);
}
public void setAccountMap(Map<String, String> accountMap) {
this.accountMap = accountMap;
MMKV.defaultMMKV().encode(ACCOUNT_TAG,GsonFactory.getSingletonGson().toJson(accountMap));
}
}