Android应用开发之Android数据保存之SharedPreferences
凌雪 2018-11-29 来源 :网络 阅读 1060 评论 0

摘要:本文将带你了解Android应用开发之Android数据保存之SharedPreferences,希望本文对大家学Android有所帮助。

本文将带你了解Android应用开发之Android数据保存之SharedPreferences,希望本文对大家学Android有所帮助。


提到安卓的数据保存大致分为以下几种:
    1. 文件
    2. 数据库SQLite
    3. SharedPerferences
    4. ContentProvider存储数据
    5. 网络存储数据 这里只介绍SharedPerferences
    SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,载窗口状态onSaveInstanceState的保存一般使用SharedPreferences完成,它只支持一些常见的数据类型的存储,如long长整形、Int整形、String字符串型、boolean布尔型数据的保存。他通过键-值的形式保存数据到/data/data/包/shared_prefs文件夹下
方法介绍
    1、说明
它提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通过Commit()方法来提交修改后的内容。
    2、重要方法
    public abstract booleancontains (Stringkey) :检查是否已存在该文件,其中key是xml的文件名。
    edit():为preferences创建一个编辑器Editor,通过创建的Editor可以修改preferences里面的数据,但必须执行commit()方法。
    getAll():返回preferences里面的多有数据。
    getBoolean(String key, booleandefValue):获取Boolean型数据
    getFloat(String key, floatdefValue):获取Float型数据
    getInt(String key, intdefValue):获取Int型数据
    getLong(String key, longdefValue):获取Long型数据
    getString(String key, StringdefValue):获取String型数据
      registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListenerlistener):注册一个当preference发生改变时被调用的回调函数。
      unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListenerlistener):删除当前回调函数。
    3、重要接口SharedPreferences.Editor
用于修改SharedPreferences对象的内容,所有更改都是在编辑器所做的批处理,而不是复制回原来的SharedPreferences或持久化存储,直到你调用commit(),才将持久化存储。重要方法:
    clear():清除内容。
    commit():提交修改
    remove(String key):删除preference
   
    使用步骤:
   
    1. 调用SharedPerferences对象的edit()方法获取SharedPerferences.Editor
   
    对象(用于数据的添加修改等)
   
    2. 向SharedPerferences.Editor对象添加数据,比如string型的,就调用putString()方法
   
    3. 调用apply()h或commit()方法提交修改
   
    代码举例:
    SharedPreferences sharedPreferences;SharedPreferences.Editor   settingDataEditor;private void initSettingData()   {    Log.e(TAG, "设置界面的初始化数据" );    //得到本地sharedPreferences文件管理对象    sharedPreferences =   getSharedPreferences("settingData",MODE_PRIVATE);    if(sharedPreferences.getString("isExists",null)   != null){        Log.e(TAG, "文件存在-》初始化" );    }else   {        Log.e(TAG, "文件不存在-》新建" );        //1.获取一个Editor对象        settingDataEditor   =   getSharedPreferences("settingData",MODE_PRIVATE).edit();        //2.添加数据,put方法参数:键名,值        settingDataEditor.putString("isExists","exists");        settingDataEditor.putBoolean("gravityData",true);        settingDataEditor.putBoolean("bluetoothData",true);        settingDataEditor.putBoolean("wifiData",false);        //3.提交        settingDataEditor.apply();    }}private   void getSetting() {    //得到本地sharedPreferences文件管理对象和编辑对象    sharedPreferences =   getSharedPreferences("settingData",MODE_PRIVATE);    //获取数据,get方法参数:键名,未得到数据后的返回值    boolean isGravityOpen =   sharedPreferences.getBoolean("gravityData",true);    boolean    isBluetoothOpen =   sharedPreferences.getBoolean("bluetoothData",true);    boolean    isWifiOpen = sharedPreferences.getBoolean("wifiData",false);}    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved