如何在全球范围内保存字符串?

时间:2015-10-10 03:39:29

标签: android

我想问一下是否可以全局存储一个字符串供我调用其他任何活动?比如我的代码中的String电子邮件,我想全局保存它,以便我可以从其他活动中调用它。

我尝试使用intent来传输数据,但它似乎对我的代码不起作用。

 <figure class="centercarosal">
   <img src="UImages/<%#Eval("Logo") %>" style="height: 100px" alt="">
 </figure>

3 个答案:

答案 0 :(得分:3)

尝试在共享首选项中保存字符串,如下所示:

// MY_PREFS_NAME - a static String variable like: 
// MY_PREFS_NAME - a static String variable like: 
//public static final String MY_PREFS_NAME = "MyPrefsFile";

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("email", "temp@gmail.com");
editor.commit();

并按照以下方式将数据移至您想要的地方:

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String name = prefs.getString("email", "No name defined");//"No name defined" is the default value.

答案 1 :(得分:1)

@FreeYourSoul是正确的。

但作为这个问题的答案,有多种方法可以做到这一点。最简单的方法是简单地创建一个静态类,其中包含一个可以在任何类中操作的散列映射。

可能不是你最好的选择,但肯定是可能的

答案 2 :(得分:1)

您可以使用SharedPreferences将数据保存到首选项,并使用Activity任意数据。

您可以使用此方法将email String保存到SharedPreferences

public void saveValueToPrefrence(Context mContext, String key, String value) {
    SharedPreferences pref = mContext.getSharedPreferences("UserData", 0);
    SharedPreferences.Editor editor = pref.edit();
    editor.putString(key, value);
    editor.apply();
}

您可以使用以下方法在任何其他email中获得String Activity

public String getValueFromPrefrence(Context mContext, String key) {
    SharedPreferences pref = mContext.getSharedPreferences("UserData", 0);
    return pref.getString(key, "");
}

您可以使用此方法保存email String

saveValueToPrefrence(ActivityName.this,"email",email)

您可以像这样获得email String

String email = getValueFromPrefrence(ActivityName.this,"email")

基本上,您需要Activity's Context保存并从SharedPreferences获取价值。

我希望它可以帮到你。