Android共享偏好设置

时间:2012-10-08 11:38:07

标签: android broadcastreceiver sharedpreferences

我只想使用我的应用程序的一个Activity中的SharedPreferences存储String name ="Android",后者我想在同一个Application的BroadcastReceiver类中检索此String。

我尝试了一切。请帮帮我。

5 个答案:

答案 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);