我正在创建一个用户必须登录才能使用的应用。在多个活动中,我经常需要有关已登录用户的数据。我认为总是通过Intent传递用户并不是一个好主意,而我只是了解到单身人士应该是非常糟糕的。那么做到这一点的“好”方法是什么?
当用户打开应用程序时,有什么方法可以让我从任何地方访问一个对象,只需要存储一次?
答案 0 :(得分:0)
定义
public class UserData {
public static UserData userDataInstance = new UserData();
public UserData() {
}
private String username = null;
private String firstName = null;
private String lastName = null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
用法
UserData.userDataInstance.setUsername('username');//To set username
username = UserData.userDataInstance.getUsername();// To get username
因为,Singleton不是一致的数据。我建议你使用SharedPreferences
<强>用法强>
SharedPreferences sp = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
sp.edit.putString("username",username).commit();//TO save in SharedPreferences
username = sp.getString("username",null);//To get string