Android四个存储数据的SharedPreferences

简介:

  除了SQLite外部数据库。SharedPreferences它是一个轻量级的数据存储,其本质是基于XML文件存储key-value键值数据,通过定期用它来存储一些简单的配置信息。它的存储位置/data/data/< >/shared_prefs文件夹下。SharedPreferences对象本身仅仅能获取数据而不支持存储和改动,存储改动是通过Editor对象实现。实现SharedPreferences存储的过程例如以下:

  一、依据Context获取SharedPreferences对象

  二、利用edit()方法获取Editor对象。

  三、通过Editor对象存储key-value键值对数据。

  四、通过commit()方法提交数据。

 

以下是用SharedPreferences存储数据的一个案例:

点击开启开启WiFi。设置进度条,保存状态,下次打开此程序,将显示上次保存的状态。

核心code例如以下:

 

*/ //sharedPreferences存储数据的步骤: //1.依据context获取SharedPreferences对象 final SharedPreferences preferences=MainActivity.this.getSharedPreferences("setting",MODE_PRIVATE ); //点击发生状态改变的时候。调用对应的方法 checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { //2.通过SharedPreferences获取editor对象(对数据存储改动的对象) Editor editor=preferences.edit(); //3.通过editor对象存储key-value键值对数据 editor.putBoolean("wifi", isChecked); //4.通过commit方法提交数据 editor.commit(); } }); //当点开当前页面的时候,从preferences中获取当前的的wifi开启状态 Boolean boolean1 = preferences.getBoolean("wifi", false); checkBox.setChecked(boolean1); //当seekbar在移动的时候对其做一个监听 this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // 进度条停止的时候 } @Override public void onStartTrackingTouch(SeekBar seekBar) { // 进度条開始移动 } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // 进度条运动后(在移动) Editor editor=preferences.edit(); editor.putInt("seek", progress); editor.commit(); } }); int progress=preferences.getInt("seek", 0); this.seekBar.setProgress(progress); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }










本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5044254.html,如需转载请自行联系原作者

相关文章
|
3月前
|
安全 API Android开发
Android网络和数据交互: 解释Retrofit库的作用。
Android网络和数据交互: 解释Retrofit库的作用。
39 0
|
4月前
|
XML 物联网 API
Android Ble蓝牙App(五)数据操作
Android Ble蓝牙App(五)数据操作
|
4月前
|
数据库 Android开发 开发者
Android Studio入门之内容共享ContentProvider讲解以及实现共享数据实战(附源码 超详细必看)
Android Studio入门之内容共享ContentProvider讲解以及实现共享数据实战(附源码 超详细必看)
41 0
|
2天前
|
存储 缓存 安全
Android系统 应用存储路径与权限
Android系统 应用存储路径与权限
6 0
Android系统 应用存储路径与权限
|
9天前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android&#39;s AsyncTask simplifies asynchronous tasks for brief background work, bridging UI and worker threads. It involves execute() for starting tasks, doInBackground() for background execution, publishProgress() for progress updates, and onPostExecute() for returning results to the main thread.
10 0
|
9天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
9 0
|
23天前
|
XML Java Android开发
Android每点击一次按钮就添加一条数据
Android每点击一次按钮就添加一条数据
23 1
|
1月前
|
存储 Android开发 C++
【Android 从入门到出门】第五章:使用DataStore存储数据和测试
【Android 从入门到出门】第五章:使用DataStore存储数据和测试
34 3
|
2月前
|
JavaScript Java 数据安全/隐私保护
安卓逆向 -- POST数据解密
安卓逆向 -- POST数据解密
27 2
|
3月前
|
编解码 测试技术 开发工具
如何实现Android视音频数据对接到GB28181平台(SmartGBD)
如何实现Android视音频数据对接到GB28181平台(SmartGBD)