在android上保存变量直到应用关闭

时间:2014-03-03 15:49:23

标签: java android

我对java和android有基本的了解,但我仍然很新,并且正在努力寻找保存变量的正确方法,并且能够访问它/从其他类/活动中读取它。我见过单身人士但我很困惑,如果这是正确的方式和它看起来如何,我还需要确保其线程安全吗?

有没有更好的方法让我不知道?

基本上我有一个登录名,获取用户名和一些关于该用户的信息。如何将其保存到类/单例并稍后访问它?

修改

经过一些搜索,我找到了这个例子:

public class Drivers {

      private static Array drivers;


          public static void setDrivers(Array c){
                drivers = c;
            }


           public static Array getDrivers(){
                return drivers;
            }


}

并得到并设置如下:

public class AnyClass {
{
    int clicks = ActionClass.getDrivers();
    ActionClass.setDrivers(0);
}

这会有效吗?

3 个答案:

答案 0 :(得分:3)

创建一个Constant类,如:

public class Constant {    
public static String USERNAME = "";
public static String PASSWORD = "";

}

现在,您可以在Activity1中设置此值

Constant.USERNAME = "uname";
Constant.PASSWORD= "password";

现在,在Activity2中获取此值,如:

String u_name = Constant.USERNAME;
String pass = Constant.PASSWORD;

您可以在应用中的任何位置访问此变量。

和/或偏好转到我的答案:Android. How to save user name and password after the app is closed?

答案 1 :(得分:0)

您可以使用SharedPreferences(一种持久层)。或者您可以通过Intent传递数据。

答案 2 :(得分:0)

您可以使用sharedPreferences

SharedPreferences sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(getApplicationContext());

SharedPreferences.Editor editor = sharedPreferences.edit(); 
 editor.putString("PASSWORD_KEY", mPassword);
 editor.commit();

 String s = sharedPreferences.getString("PASSWORD_KEY", ""); // get the saved string