您将如何通过所有应用程序传递用户?

How would you pass an user though all the app?

我正在创建一个用户必须登录才能使用的应用程序。在多个活动中,我经常需要有关已登录用户的数据。我认为总是按 Intent 传递给用户不是一个好主意,而且我刚刚了解到单身人士应该是非常糟糕的。那么 "nice" 方法是什么?

让我可以从任何地方访问并且只需要在用户打开应用程序时存储一次的对象的好方法是什么?

定义

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