我想问一下是否可以全局存储一个字符串供我调用其他任何活动?比如我的代码中的String电子邮件,我想全局保存它,以便我可以从其他活动中调用它。
我尝试使用intent来传输数据,但它似乎对我的代码不起作用。
<figure class="centercarosal">
<img src="UImages/<%#Eval("Logo") %>" style="height: 100px" alt="">
</figure>
答案 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
获取价值。
我希望它可以帮到你。