2

我只想使用我的应用程序的一个活动中的 SharedPreferences 进行存储String name ="Android",而后者我想在同一应用程序的 BroadcastReceiver 类中检索此字符串。

我什么都试过了。请帮我。

4

5 回答 5

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
于 2012-10-08T11:40:58.070 回答
0

弄清楚您是否可以发布您厌倦的代码会更容易。

顺便一提,

 public abstract void onReceive (Context context, Intent intent)

此方法将为您提供上下文实例。您可以使用它来获取偏好。

context.getPreferences(MODE_PRIVATE);

希望这可以帮助。

于 2012-10-08T11:56:46.950 回答
0

如果以后不需要在代码中更改字符串,您可以将字符串放入硬编码的“Strigs”静态变量中,然后只读取它。声明和读取字符串会容易得多。如果您需要阅读并更改字符串“Android”,请使用此示例:http ://saigeethamn.blogspot.ch/2009/10/shared-preferences-android-developer.html

于 2012-10-08T11:48:19.897 回答
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");
于 2012-10-08T11:54:41.260 回答
-1

试试这个代码

SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
                    SharedPreferences.Editor editor = prefs.edit();
                    editor.putString("android", "your string"); // value to store

                    editor.commit();

现在在您的 Reciever 类中添加以下内容

SharedPreferences  mPrefs = getPreferences(MODE_PRIVATE);
    String android= mPrefs.getString("android", null);
于 2012-10-08T11:46:06.637 回答