我只是想使用我的應用程序的Activity之一中的SharedPreferences存儲String name ="Android"
,後者我想在同一個Application的BroadcastReceiver類中檢索此String。Android共享偏好
我嘗試了一切。請幫幫我。
我只是想使用我的應用程序的Activity之一中的SharedPreferences存儲String name ="Android"
,後者我想在同一個Application的BroadcastReceiver類中檢索此String。Android共享偏好
我嘗試了一切。請幫幫我。
請按照下面的代碼。創建一個名爲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
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);
其給出此錯誤「MODE_PRIVATE無法解析爲一個變量「 – user1728664
嘗試改變模式,如果它不工作,然後嘗試清理項目 – Syn3sthete
如果沒有必要在後面的代碼修改字符串,你可以把你的字符串是硬編碼的「Strigs」靜態變量,然後只讀取它。你將更容易聲明和讀取字符串。如果你需要閱讀,改變它的字符串的「Android」,然後用這個例子:http://saigeethamn.blogspot.ch/2009/10/shared-preferences-android-developer.html
對於設置在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");
如果你能發表你厭倦的代碼,那將會更容易一些。
順便說一句,
public abstract void onReceive (Context context, Intent intent)
這種方法會給你的上下文實例。你可以使用它來獲得偏好。
context.getPreferences(MODE_PRIVATE);
希望這會有所幫助。
愛你的男人..現在在月球上.....:D:D謝謝你!它工作dddd yehooo ............... – user1728664
它只會工作在特定的時間,如果上下文從內存中刪除此代碼拋出nullpointerexception –