你会如何通过所有应用程序传递用户?

时间:2015-04-08 18:14:06

标签: android singleton

我正在创建一个用户必须登录才能使用的应用。在多个活动中,我经常需要有关已登录用户的数据。我认为总是通过Intent传递用户并不是一个好主意,而我只是了解到单身人士应该是非常糟糕的。那么做到这一点的“好”方法是什么?

当用户打开应用程序时,有什么方法可以让我从任何地方访问一个对象,只需要存储一次?

1 个答案:

答案 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