为什么我不用Editor也可以获得
private void testSharedPreferences() {
//得到一个对象
SharedPreferences sharedPreferences = getSharedPreferences("test", Context.MODE_PRIVATE);
sharedPreferences.edit()
.putString("name", "sss")
.putInt("age", 12)
.commit();
String name = sharedPreferences.getString("name", null);
int age = sharedPreferences.getInt("age", 0);
Log.e(TAG, "testSharedPreferences: " + "name:" + name + " age:" + age);
}
正在回答 回答被采纳积分+1
sharedPreferences.edit()
.putString("name", "sss")
.putInt("age", 12)
.commit();
这里是因为sharedPreferences.edit()是一个单一的对象
老师的代码:
sharedPreferences.edit().putString("name", "sss");
sharedPreferences.edit().putInt("age", 12);
sharedPreferences.edit() .commit();
这里有三个Editor对象
而日志显示的是最新的对像(sharedPreferences.edit() .commit();)
且最后只是提交业务的对象没有赋任何的值在里面
- 参与学习 人
- 提交作业 307 份
- 解答问题 1613 个
本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星