博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android四个存储数据的SharedPreferences
阅读量:7058 次
发布时间:2019-06-28

本文共 1879 字,大约阅读时间需要 6 分钟。

  除了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,如需转载请自行联系原作者
你可能感兴趣的文章
New Release: patterns & practices App Arch Guide 2.0 Beta 1
查看>>
《中国人工智能学会通讯》——8.27 结束语
查看>>
服务企业互联网化用友进入3.0时代
查看>>
英特尔推新款Quark芯片升级物联网
查看>>
《中国人工智能学会通讯》——4.4 视频结构化描述技术在平安城市中 的应用...
查看>>
Fortinet FortiGuard安全实验室解密APT攻击的那些事儿
查看>>
用友云重装出发:你想得到的企业服务都在这
查看>>
经典网络的ECS实例支持升级到企业级实例
查看>>
《网络空间欺骗:构筑欺骗防御的科学基石》一2.3 欺骗型安全技术
查看>>
当“双态IT”已成共识 如何打造以数据驱动的运维平台?
查看>>
定位与大数据邂逅,Wi-Fi大不相同
查看>>
物联网技术正颠覆零售行业
查看>>
中科曙光智慧城市落地玉树,致力于藏区维稳工作
查看>>
绿盟科技互联网安全威胁周报2016.31 Memcached多个整数溢出漏洞CVE-2016-8704
查看>>
面向多类型场景,浪潮超融合架构解决方案亮相vForum
查看>>
《OpenGL编程指南(原书第9版)》——1.2 初识OpenGL程序
查看>>
Dynatrace推可3D打印 “UFO”设备 实现应用性能的全链路可视化
查看>>
想成长为高级程序员需要这么几个阶段
查看>>
高层管理者对于大数据的6个误解
查看>>
程序员:增加编程经验的3种途径
查看>>