在android上保存持久数据的最简单方法(BroadcastReceiver)

时间:2014-12-03 09:24:31

标签: android

我需要以持久的方式保存一个int

我找到的最简单的方法是:SharedPreferences但它需要活动,我没有活动,因为我从BroadcastReciever继承并希望保存和读取数据

public void onReceive(final Context arg0, Intent arg1) 
{
  // Save data here
}

我最好也是最简单的选择。

2 个答案:

答案 0 :(得分:1)

您已在onReceive中拥有上下文。这很简单:

public void onReceive(final Context context, Intent arg1) 
{
    SharedPreferences prefs = context.getSharedPreferences("myPrefs", 
                                                        Context.MODE_PRIVATE);
    Editor editor = pref.edit();
    editor.putString("key_name", "string value");
    editor.commit();
}

希望它有所帮助。

答案 1 :(得分:1)

SharedPreferences与Context相关,而不是Activity,因此您可以使用

public void onReceive(final Context arg0, Intent arg1) 
{
    PreferenceManager.getDefaultSharedPreference(arg0).edit().putInt(yourInt).apply();
}