Android app系统设置界面 数据的保存与读取 SharedPreferences 的正确使用
来源:互联网 发布:广州关键词优化 编辑:程序博客网 时间:2024/05/04 07:54
很开心的是经历过两个多月的努力,项目在11月份即将要交付使用,基础功能已经完成,剩下的是系统设定界面没有开发完毕,如下图:
很显然要实现的功能是几个界面要显示很多数据,要依据某一项进行排序,当勾选的选项被选中时,菜单切换到该界面时,就要按照这个字段进行排序,所以需求是用户点击的字段,需要保存下来,当用户退出程序,再次进入的时候,需要获得已经保存的字段的值,也就是显示打钩的那项,解决方案如下:
第一个方案:脑子里第一个冒出来的就是使用sqlite来保存数据,这样每次进入应用的时候,重新从数据库里面获取该字段的值,不过鉴于保存数据不多,都是一些string、int或者boolean类型,用数据库有点大材小用,(关于sqlite的部分有兴趣的同学可以参考别的文章,这里就不多说了)。
第二个方案:是公司同事(我师傅),他在登陆界面为了记录用户的登陆状态,采用了类似于windows里的注册表的功能来保存登陆状态,Android的系统属性相当于windows的注册表,由key和value组成,且都是核心系统的一个基本机制。相对于windows的注册表,Android的系统属性要简单一些,它没有windows注册表的树状结构,而只是一个列表,也就是说没有父子关系。value有string,int,long,boolean,但是设置只能通过字符串方式。(这是从该博文截取出来的,有兴趣的可以参考:android “注册表”),这个方案其实和第三个方案,功能是类似的,只不过范围更大,介绍第三个方案。
第三个方案也就是本博文提到的Sharepreferences,这个类实现的功能我的理解是:保存一个应用程序的基本类型变量,保存在该应用的xml文件下(data/data/包名/shared_prefs/),可以双击打开,就可以看到我们保存的变量,具体的sharepreferences的用法我就不多讲了,有很多很好的博文:sharepreferences博文1,其实真的很好用,只要在我的应用中:当用户点击了某一个项,通过监听textview点击事件,更换带钩的背景图片,存下shareperferences的变量,在用户再次登录的时候,然后获取刚才保存的变量,只需要拿到该key,就可以拿到value,分享一个一位前辈提供的sharepreferences的工具类,不用再那么麻烦的创建和保存了,再次感谢:
package client.verbank.mtp.allone.util;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;/** * SharedPreferences操作工具类 * */public class SharepreferencesUtilSystemSettings {public final static String SETTING = "Setting";public static void putValue(Context context, String key, int value) {Editor sp = context.getSharedPreferences(SETTING, Context.MODE_PRIVATE).edit();sp.putInt(key, value);sp.commit();}public static void putValue(Context context, String key, boolean value) {Editor sp = context.getSharedPreferences(SETTING, Context.MODE_PRIVATE).edit();sp.putBoolean(key, value);sp.commit();}public static void putValue(Context context, String key, String value) {Editor sp = context.getSharedPreferences(SETTING, Context.MODE_PRIVATE).edit();sp.putString(key, value);sp.commit();}public static int getValue(Context context, String key, int defValue) {SharedPreferences sp = context.getSharedPreferences(SETTING,Context.MODE_PRIVATE);int value = sp.getInt(key, defValue);return value;}public static boolean getValue(Context context, String key, boolean defValue) {SharedPreferences sp = context.getSharedPreferences(SETTING,Context.MODE_PRIVATE);boolean value = sp.getBoolean(key, defValue);return value;}public static String getValue(Context context, String key, String defValue) {SharedPreferences sp = context.getSharedPreferences(SETTING,Context.MODE_PRIVATE);String value = sp.getString(key, defValue);return value;}}具体我的逻辑代码在上一篇博文有,有问题欢迎交流,谢谢各位!!!
- Android app系统设置界面 数据的保存与读取 SharedPreferences 的正确使用
- android-sharedpreferences(数据的保存和读取)
- Android SharedPreferences 保存数据,读取其它应用的SharedPreferences
- android SharedPreferences 保存数据与读取数据
- android SharedPreferences的保存读取
- 使用SharedPreferences快速实现APP个性化设置参数的保存
- Android的SharedPreferences保存,读取和删除数据
- Android数据存储—SharedPreferences的保存和读取
- Android采用SharedPreferences方式进行文件的保存与读取
- Android SharedPreferences(信息的保存和读取)
- Android的设置界面:SharedPreferences和PreferenceActivity的使用
- android 使用sharedPreferences保存用户设置的参数
- 在Android中使用SharedPreferences保存简单的数据
- Android 在本地使用SharedPreferences,保存大量的数据
- android中使用SharedPreferences保存数据丢失的问题
- SharedPreferences的设置保存
- 【Android】app开发第一步:用ViewPager和SharedPreferences类设置app的引导界面
- Android-SharedPreferences保存数据,读取数据
- Android APK反编译就这么简单 详解(附图)
- 宝宝生病
- Java并发工具类LockSupport
- 解决CUDA程序的黑屏恢复问题
- 3、linux文件夹简单操作和光盘挂载
- Android app系统设置界面 数据的保存与读取 SharedPreferences 的正确使用
- Android使用NumberPicker控件实现选择城市,生日
- 好用的PERL正则表达式在线测试工具
- 如何在Android Studio中导入包:android-support-v4/Fragment
- Java学习笔记【用户自定义类基本知识点】
- 面试感想
- Android 屏幕适配
- jquery text() - 设置或返回所选元素的文本内容 进行判断值注意
- actionbar