我只想使用我的应用程序的一个Activity中的SharedPreferences存储String name ="Android"
,后者我想在同一个Application的BroadcastReceiver类中检索此String。
我尝试了一切。请帮帮我。
答案 0 :(得分:2)
按照以下代码。创建一个名为PreferenceData的类。在该课程中有两种方法。一个用于将字符串存储到共享首选项中,另一个用于获取共享首选项的字符串。
public class PreferenceData
{
static final String PREF_STORE = "store_temp";
public static SharedPreferences getSharedPreferences(Context ctx)
{
return PreferenceManager.getDefaultSharedPreferences(ctx);
}
public static void setTempString(Context ctx, String str)
{
Editor editor = getSharedPreferences(ctx).edit();
editor.putString(PREF_STORE, str);
editor.commit();
}
public static String getTempString(Context ctx)
{
return getSharedPreferences(ctx).getString(PREF_STORE, "");
}
}
如何访问它?
PreferenceData.getTempString(Pass Context); // Get Shared Preference String
PreferenceData.setTempString(Pass Context,"Android") // Set String to Shared Preference
答案 1 :(得分:0)
如果以后在代码中不需要更改字符串,可以将字符串放在硬编码的“Strigs”静态变量中,然后只读取它。声明和读取字符串会更容易。如果您需要阅读并更改字符串“Android”,请使用以下示例:http://saigeethamn.blogspot.ch/2009/10/shared-preferences-android-developer.html
答案 2 :(得分:0)
用于在SharedPreferences中设置值...
private final String PREF = "PREF";
private final String PREF_STRING = "PREF_STRING";
final SharedPreferences preferences = activity.getSharedPreferences(PREF, Activity.MODE_PRIVATE);
preferences.edit().putString(PREF_STRING, "Android").commit();
获取SharedPreferences的值...
preferences.getString(PREF_STRING, "Default value");
答案 3 :(得分:0)
更容易弄清楚你是否可以发布你厌倦的代码。
顺便说一下,
public abstract void onReceive (Context context, Intent intent)
此方法将为您提供上下文实例。你可以用它来获得偏好。
context.getPreferences(MODE_PRIVATE);
希望这会有所帮助。
答案 4 :(得分:-1)
试试这段代码
SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = prefs.edit();
editor.putString("android", "your string"); // value to store
editor.commit();
现在在Receiver类中添加以下内容
SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
String android= mPrefs.getString("android", null);