Skip to content

Commit 3abc95f

Browse files
committed
Client:解决登录界面自动填充上次登录账号失效
1 parent de7220a commit 3abc95f

File tree

3 files changed

+160
-157
lines changed

3 files changed

+160
-157
lines changed

APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/LoginActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,13 +192,13 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) {
192192
break;
193193
}
194194
} else {
195+
user.setPhone(phone);
195196
APIJSONApplication.getInstance().saveCurrentUser(user);
196197
if (APIJSONApplication.getInstance().isLoggedIn() == false) {
197198
showShortToast((requestCode == Login.TYPE_PASSWORD ? "密码" : "验证码") + "错误");
198199
return;
199200
}
200201

201-
user.setPhone(phone);
202202
onLoginSucceed();
203203
}
204204
}

APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/application/APIJSONApplication.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import android.util.Log;
2020
import apijson.demo.client.manager.DataManager;
2121
import apijson.demo.client.model.User;
22+
import apijson.demo.server.model.BaseModel;
2223

2324
/**Application
2425
* @author Lemon
@@ -75,13 +76,17 @@ public void saveCurrentUser(User user) {
7576
return;
7677
}
7778

79+
if (currentUser != null && user.getId().equals(currentUser.getId())
80+
&& StringUtil.isNotEmpty(user.getPhone(), true) == false) {
81+
user.setPhone(currentUser.getPhone());
82+
}
7883
currentUser = user;
7984
DataManager.getInstance().saveCurrentUser(currentUser);
8085
}
8186

8287
public void logout() {
83-
DataManager.getInstance().saveUser(currentUser);
8488
currentUser = null;
89+
DataManager.getInstance().saveCurrentUser(currentUser);
8590
}
8691

8792
/**判断是否为当前用户

APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/manager/DataManager.java

Lines changed: 153 additions & 155 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* @author Lemon
2828
*/
2929
public class DataManager {
30-
private final String TAG = "DataManager";
30+
private final String TAG = "DataManager";
3131

3232
private Context context;
3333
private DataManager(Context context) {
@@ -39,160 +39,158 @@ public static DataManager getInstance() {
3939
return instance;
4040
}
4141

42-
//用户 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
43-
44-
private String PATH_USER = "PATH_USER";
45-
46-
public final String KEY_USER = "KEY_USER";
47-
public final String KEY_USER_ID = "KEY_USER_ID";
48-
public final String KEY_USER_NAME = "KEY_USER_NAME";
49-
public final String KEY_USER_PHONE = "KEY_USER_PHONE";
50-
51-
public final String KEY_CURRENT_USER_ID = "KEY_CURRENT_USER_ID";
52-
public final String KEY_LAST_USER_ID = "KEY_LAST_USER_ID";
53-
54-
55-
/**判断是否为当前用户
56-
* @param userId
57-
* @return
58-
*/
59-
public boolean isCurrentUser(long userId) {
60-
return userId > 0 && userId == getCurrentUserId();
61-
}
62-
63-
/**获取当前用户id
64-
* @return
65-
*/
66-
public long getCurrentUserId() {
67-
User user = getCurrentUser();
68-
return user == null ? 0 : user.getId();
69-
}
70-
71-
/**获取当前用户的手机号
72-
* @return
73-
*/
74-
public String getCurrentUserPhone() {
75-
User user = getCurrentUser();
76-
return user == null ? "" : user.getPhone();
77-
}
78-
/**获取当前用户
79-
* @return
80-
*/
81-
public User getCurrentUser() {
82-
SharedPreferences sdf = context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE);
83-
return sdf == null ? null : getUser(sdf.getLong(KEY_CURRENT_USER_ID, 0));
84-
}
85-
86-
87-
/**获取最后一次登录的用户的手机号
88-
* @return
89-
*/
90-
public String getLastUserPhone() {
91-
User user = getLastUser();
92-
return user == null ? "" : user.getPhone();
93-
}
94-
95-
/**获取最后一次登录的用户
96-
* @return
97-
*/
98-
public User getLastUser() {
99-
SharedPreferences sdf = context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE);
100-
return sdf == null ? null : getUser(sdf.getLong(KEY_LAST_USER_ID, 0));
101-
}
102-
103-
/**获取用户
104-
* @param userId
105-
* @return
106-
*/
107-
public User getUser(long userId) {
108-
SharedPreferences sdf = context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE);
109-
if (sdf == null) {
110-
Log.e(TAG, "get sdf == null >> return;");
111-
return null;
112-
}
113-
Log.i(TAG, "getUser userId = " + userId);
114-
return JSON.parseObject(sdf.getString(StringUtil.getTrimedString(userId), null), User.class);
115-
}
116-
117-
118-
/**保存当前用户,只在登录或注销时调用
119-
* @param user user == null >> user = new User();
120-
*/
121-
public void saveCurrentUser(User user) {
122-
SharedPreferences sdf = context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE);
123-
if (sdf == null) {
124-
Log.e(TAG, "saveUser sdf == null >> return;");
125-
return;
126-
}
127-
if (user == null) {
128-
Log.w(TAG, "saveUser user == null >> user = new User();");
129-
user = new User();
130-
}
131-
SharedPreferences.Editor editor = sdf.edit();
132-
editor.remove(KEY_LAST_USER_ID).putLong(KEY_LAST_USER_ID, getCurrentUserId());
133-
editor.remove(KEY_CURRENT_USER_ID).putLong(KEY_CURRENT_USER_ID, user.getId());
134-
editor.commit();
135-
136-
saveUser(sdf, user);
137-
}
138-
139-
/**保存用户
140-
* @param user
141-
*/
142-
public void saveUser(User user) {
143-
saveUser(context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE), user);
144-
}
145-
/**保存用户
146-
* @param sdf
147-
* @param user
148-
*/
149-
public void saveUser(SharedPreferences sdf, User user) {
150-
if (sdf == null || user == null) {
151-
Log.e(TAG, "saveUser sdf == null || user == null >> return;");
152-
return;
153-
}
154-
String key = StringUtil.getTrimedString(user.getId());
155-
Log.i(TAG, "saveUser key = user.getId() = " + user.getId());
156-
sdf.edit().remove(key).putString(key, JSON.toJSONString(user)).commit();
157-
}
158-
159-
/**删除用户
160-
* @param sdf
161-
* @param userId
162-
*/
163-
public void removeUser(SharedPreferences sdf, long userId) {
164-
if (sdf == null) {
165-
Log.e(TAG, "removeUser sdf == null >> return;");
166-
return;
167-
}
168-
sdf.edit().remove(StringUtil.getTrimedString(userId)).commit();
169-
}
170-
171-
/**设置当前用户手机号
172-
* @param phone
173-
*/
174-
public void setCurrentUserPhone(String phone) {
175-
User user = getCurrentUser();
176-
if (user == null) {
177-
user = new User();
178-
}
179-
user.setPhone(phone);
180-
saveUser(user);
181-
}
182-
183-
/**设置当前用户姓名
184-
* @param name
185-
*/
186-
public void setCurrentUserName(String name) {
187-
User user = getCurrentUser();
188-
if (user == null) {
189-
user = new User();
190-
}
191-
user.setName(name);
192-
saveUser(user);
193-
}
194-
195-
//用户 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
42+
//用户 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
43+
44+
private String PATH_USER = "PATH_USER";
45+
46+
public final String KEY_USER = "KEY_USER";
47+
public final String KEY_USER_ID = "KEY_USER_ID";
48+
public final String KEY_USER_NAME = "KEY_USER_NAME";
49+
public final String KEY_USER_PHONE = "KEY_USER_PHONE";
50+
51+
public final String KEY_CURRENT_USER_ID = "KEY_CURRENT_USER_ID";
52+
public final String KEY_LAST_USER_ID = "KEY_LAST_USER_ID";
53+
54+
55+
/**判断是否为当前用户
56+
* @param userId
57+
* @return
58+
*/
59+
public boolean isCurrentUser(long userId) {
60+
return userId > 0 && userId == getCurrentUserId();
61+
}
62+
63+
/**获取当前用户id
64+
* @return
65+
*/
66+
public long getCurrentUserId() {
67+
User user = getCurrentUser();
68+
return user == null ? 0 : user.getId();
69+
}
70+
71+
/**获取当前用户的手机号
72+
* @return
73+
*/
74+
public String getCurrentUserPhone() {
75+
User user = getCurrentUser();
76+
return user == null ? "" : user.getPhone();
77+
}
78+
/**获取当前用户
79+
* @return
80+
*/
81+
public User getCurrentUser() {
82+
SharedPreferences sdf = context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE);
83+
return sdf == null ? null : getUser(sdf.getLong(KEY_CURRENT_USER_ID, 0));
84+
}
85+
86+
87+
/**获取最后一次登录的用户的手机号
88+
* @return
89+
*/
90+
public String getLastUserPhone() {
91+
User user = getLastUser();
92+
return user == null ? "" : user.getPhone();
93+
}
94+
95+
/**获取最后一次登录的用户
96+
* @return
97+
*/
98+
public User getLastUser() {
99+
SharedPreferences sdf = context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE);
100+
return sdf == null ? null : getUser(sdf.getLong(KEY_LAST_USER_ID, 0));
101+
}
102+
103+
/**获取用户
104+
* @param userId
105+
* @return
106+
*/
107+
public User getUser(long userId) {
108+
SharedPreferences sdf = context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE);
109+
if (sdf == null) {
110+
Log.e(TAG, "get sdf == null >> return;");
111+
return null;
112+
}
113+
Log.i(TAG, "getUser userId = " + userId);
114+
return JSON.parseObject(sdf.getString(StringUtil.getTrimedString(userId), null), User.class);
115+
}
116+
117+
118+
/**保存当前用户,只在登录或注销时调用
119+
* @param user user == null >> user = new User();
120+
*/
121+
public void saveCurrentUser(User user) {
122+
SharedPreferences sdf = context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE);
123+
if (sdf == null) {
124+
Log.e(TAG, "saveUser sdf == null >> return;");
125+
return;
126+
}
127+
SharedPreferences.Editor editor = sdf.edit();
128+
if (user != null) {
129+
editor.remove(KEY_LAST_USER_ID).putLong(KEY_LAST_USER_ID, user.getId());
130+
}
131+
editor.remove(KEY_CURRENT_USER_ID).putLong(KEY_CURRENT_USER_ID, user == null ? 0 : user.getId());
132+
editor.commit();
133+
134+
saveUser(sdf, user);
135+
}
136+
137+
/**保存用户
138+
* @param user
139+
*/
140+
public void saveUser(User user) {
141+
saveUser(context.getSharedPreferences(PATH_USER, Context.MODE_PRIVATE), user);
142+
}
143+
/**保存用户
144+
* @param sdf
145+
* @param user
146+
*/
147+
public void saveUser(SharedPreferences sdf, User user) {
148+
if (sdf == null || user == null) {
149+
Log.e(TAG, "saveUser sdf == null || user == null >> return;");
150+
return;
151+
}
152+
String key = StringUtil.getTrimedString(user.getId());
153+
Log.i(TAG, "saveUser key = user.getId() = " + user.getId());
154+
sdf.edit().remove(key).putString(key, JSON.toJSONString(user)).commit();
155+
}
156+
157+
/**删除用户
158+
* @param sdf
159+
* @param userId
160+
*/
161+
public void removeUser(SharedPreferences sdf, long userId) {
162+
if (sdf == null) {
163+
Log.e(TAG, "removeUser sdf == null >> return;");
164+
return;
165+
}
166+
sdf.edit().remove(StringUtil.getTrimedString(userId)).commit();
167+
}
168+
169+
/**设置当前用户手机号
170+
* @param phone
171+
*/
172+
public void setCurrentUserPhone(String phone) {
173+
User user = getCurrentUser();
174+
if (user == null) {
175+
user = new User();
176+
}
177+
user.setPhone(phone);
178+
saveUser(user);
179+
}
180+
181+
/**设置当前用户姓名
182+
* @param name
183+
*/
184+
public void setCurrentUserName(String name) {
185+
User user = getCurrentUser();
186+
if (user == null) {
187+
user = new User();
188+
}
189+
user.setName(name);
190+
saveUser(user);
191+
}
192+
193+
//用户 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
196194

197195

198196

0 commit comments

Comments
 (0)