Ate*_*eeq 14 android sharedpreferences
我有一个服务,其中有4个全局静态int变量 ,我有一个BOOT COMPLETE接收器和Call事件.我想要做的是在执行Call事件接收器时保存这4个变量并在执行BOOT接收器时检索它们(当然,当我重新启动手机时)但两者都不起作用..另一件事是共享首选项也很有用设备重启?代码如下
SharedPreferences saved_values = this.getSharedPreferences(
"com.example.app", Context.MODE_PRIVATE);
saved_values.edit().putInt("call", MyService.callcount);
saved_values.edit().putInt("callend",MyService.callendcount);
saved_values.edit().putInt("network",MyService.network_count);
saved_values.edit().putInt("ringing",MyService.ringingcount);
saved_values.edit().commit();
Run Code Online (Sandbox Code Playgroud)
并用于检索
SharedPreferences saved_values = this.getSharedPreferences(
"com.example.app", Context.MODE_PRIVATE);
MyService.callcount = saved_values.getInt("call", -10);
MyService.ringingcount=saved_values.getInt("ringing", -10);
MyService. network_count=saved_values.getInt("network", -10);
MyService. callendcount=saved_values.getInt("callend", -10);
Run Code Online (Sandbox Code Playgroud)
Ate*_*eeq 24
我用过这个,它对我有用.
为了节省
SharedPreferences saved_values = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor=saved_values.edit();
editor.putInt("count",count);
editor.putInt("foo",foo);
editor.commit();
Run Code Online (Sandbox Code Playgroud)
并用于检索
SharedPreferences saved_values = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
count = saved_values.getInt("count", -1);
Run Code Online (Sandbox Code Playgroud)
Vip*_*hah 13
问题是每次调用edit()时都会创建一个新的Editor对象.您应该保存一个Editor对象的实例并对其执行所有操作.
使用以下
SharedPreferences saved_values = this.getSharedPreferences(
"com.example.app", Context.MODE_PRIVATE);
SharedPreferences.Editor editor=saved_values.edit();
editor.putInt("call", MyService.callcount);
editor.putInt("callend", MyService.callendcount);
editor.putInt("network", MyService.network_count);
editor.putInt("ringing", MyService.ringingcount);
editor.commit();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17572 次 |
| 最近记录: |