【Android】安卓学习笔记之使用SharedPreferences 读写数据
来源:互联网 发布:知乎app ipad 编辑:程序博客网 时间:2024/05/16 01:53
1、将数据存储到SharedPreferences中
新建一个SharedPreferencesTest项目,然后修改activity_main.xml中的代码,如下所示:
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:id="@+id/save_data"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Savedata"/></LinearLayout>
这里我们不做任何复杂的功能,只是简单地放置了一个按钮,用于将一些数据存储到SharedPreferences文件当中。然后修改MainActivity中的代码,如下所示:
public class MainActivity extends Activity {private Button saveData;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);saveData = (Button) findViewById(R.id.save_data);saveData.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit();editor.putString("name", "Tom");editor.putInt("age", 28);editor.putBoolean("married", false);editor.commit();}});}}可以看到, 这里首先给按钮注册了一个点击事件, 然后在点击事件中通过getSharedPreferences()方法指定SharedPreferences的文件名为data,并得到了SharedPreferences.Editor对象。接着向这个对象中添加了三条不同类型的数据,最后调用commit()方法进行提交,从而完成了数据存储的操作。
很简单吧?现在就可以运行一下程序了,进入程序的主界面后,点击一下Save data 按钮。这时的数据应该已经保存成功了,不过为了要证实一下,我们还是要借助File Explorer来进行查看。切换到DDMS 视图,并点击File Explorer 切换卡,然后进入到/data/data/com.example.sharedpreferencestest/shared_prefs /目录下,可以看到生成了一个data.xml 文件,如图所示。
2 、从SharedPreferences 中读取数据
我们还是通过例子来实际体验一下吧,仍然是在SharedPreferencesTest 项目的基础上继续开发,修改activity_main.xml 中的代码,如下所示:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/save_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Save data" /> <Button android:id="@+id/restore_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Restore data" /></LinearLayout>
这里增加了一个还原数据的按钮,我们希望通过点击这个按钮来从SharedPreferences 文件中读取数据。修改MainActivity 中的代码,如下所示:
public class MainActivity extends Activity {private Button saveData;private Button restoreData;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);saveData = (Button) findViewById(R.id.save_data);restoreData = (Button) findViewById(R.id.restore_data);restoreData.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {SharedPreferences pref = getSharedPreferences("data", MODE_PRIVATE);String name = pref.getString("name", "");int age = pref.getInt("age", 0);boolean married = pref.getBoolean("married", false);Log.d("MainActivity", "name is " + name);Log.d("MainActivity", "age is " + age);Log.d("MainActivity", "married is " + married);}});}}
可以看到,我们在还原数据按钮的点击事件中首先通过getSharedPreferences()方法得到了SharedPreferences 对象,然后分别调用它的getString()、getInt()和getBoolean()方法去获取前面所存储的姓名、年龄和是否已婚,如果没有找到相应的值就会使用方法中传入的默认值来代替,最后通过Log 将这些值打印出来。
现在重新运行一下程序,并点击界面上的Restore data 按钮,然后查看LogCat 中的打印信息,如图所示。
所有之前存储的数据都成功读取出来了!通过这个例子,我们就把SharedPreferences 存储的知识也学习完了。相比之下,SharedPreferences 存储确实要比文本存储简单方便了许多,应用场景也多了不少,比如很多应用程序中的偏好设置功能其实都使用到了SharedPreferences技术。
之前写了一个例子就是用到这和技术的,仅供参考。
传送门: 【Android】记住密码功能的实现
0 0
- 【Android】安卓学习笔记之使用SharedPreferences 读写数据
- 安卓学习笔记<一>:数据存储之SharedPreferences
- 安卓开发培训(3.2 使用SharedPreferences实现Android数据读写操作)
- Android之SharedPreferences读写数据
- 使用SharedPreferences读写数据
- 使用 SharedPreferences 读写数据
- 使用SharedPreferences读写数据
- Android学习笔记之数据的共享存储SharedPreferences
- Android编程学习笔记 之 SharedPreferences数据存储
- Android阶段学习笔记 16.8.6 之 SharedPreferences存数据
- Android学习笔记(八)-使用SharedPreferences进行数据存储
- Android学习笔记_8_使用SharedPreferences存储数据
- 安卓数据存储之sharedpreferences
- 【安卓】数据存储之SharedPreferences
- [安卓基础]数据存储之SharedPreferences
- 安卓开发之数据存储SharedPreferences
- 安卓数据存储之SharedPreferences存储
- 安卓数据存储之SharedPreferences存储
- 欢迎使用CSDN-markdown编辑器
- 这是我的第一篇博客
- JavaScript奇技淫巧45招
- 程序员面试题精选100题(20)-最长公共子串[算法]
- 文件流对象的使用
- 【Android】安卓学习笔记之使用SharedPreferences 读写数据
- JAVA_面向对象_笔记_01
- Android获取Context(任意位置任意地方,全局上下文)
- 全能初始化方法
- scikit-learn Tutorials (3)
- github實戰(一)-----------安裝並創建第一個倉庫
- 图解Nginx-Nginx上下文总结
- iOS开发常用基础框架(你了解的ios只是冰山一角)
- WC2016总结