Sharepreference

用于存储始终不怎么变化的数据值,如手机的设置等信息,只会采用已经存在的配置,而不会发生较大变化的值
使用Sharepreferences时需要创建他自身的对象还要创建SharedPreferences.Editor(此对象用于数据的写入),写入方法Editor对象的putString等方法存入key-value值,获取的时候用Sharepreference对象的getString(key)等方法获取存入的数据

方法
getXxx(String key,xxx defValue)
获取相关key的值,其中defvalue是当value值不存在时,返回默认值defvalue
Editor.putXxx(String key,xxx value)
以key-value的形式存放数据
Editor.apply()或者Editor.commit()
用于提交Editor的修改
Editor.remove(String key)
删除Sharepreference中指定key对应的数据
boolean contains(String key)
判断key是否存在
Editor.clear()
清楚所有数据
getSharedPreferences(String name,int mode)
mode有三个值
Context.MODE_PRIVATE 指定该SharedPreferences数据只能被本应用程序读写
其他的两种不推荐:
Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写
Context.MODE_WORLD_WRITEABLE:指定SharedPreferences数据能被其他应用程序读写.

public class SharePreferencesActivity extends Activity {private SharedPreferences preferences;private SharedPreferences.Editor editor;private Context context = SharePreferencesActivity.this;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_shareprefences);preferences = getSharedPreferences("crazyit", Context.MODE_PRIVATE);editor = preferences.edit();Button btn = findViewById(R.id.insert);Button btn_write = findViewById(R.id.write);Button btn_deleteAll =findViewById(R.id.deleteAll);btn_deleteAll.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {AlertDialog alterDialog = new AlertDialog.Builder(context).setTitle("确认框").setMessage("您确定要清除存的数据吗").setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {editor.clear();editor.commit();Toast.makeText(context,"删除成功",Toast.LENGTH_LONG).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {Toast.makeText(context,"取消成功",Toast.LENGTH_LONG).show();}}).show();}});btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String time  = preferences.getString("time",null);int randNum =preferences.getInt("random",0);String result = time == null ? "您暂时还未写入数据" : "写入时间:" + time + "\n 上次生成的随机数" +randNum;Toast.makeText(SharePreferencesActivity.this,result,Toast.LENGTH_LONG).show();}});btn_write.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"+"hh:mm:ss");editor.putString("time",sdf.format(new Date()));editor.putInt("random",(int) (Math.random()*100));editor.apply();}});}
}
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="读取数据"android:id="@+id/insert"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="写入数据"android:id="@+id/write"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="清除数据"android:id="@+id/deleteAll"/>
</LinearLayout>

Sharepreferences相关推荐

  1. 安卓SharePreferences数据存储

    1.什么是SharePreferences SharePreferences是安卓平台上的一个轻量级存储类,用来存储少量数据时简单.便捷(如记住密码). SharePreferences以键值对形式存 ...

  2. SharePreferences数据丢失问题的处理和解决方案

    问题来源: 在项目开发中部分接口token显示为空,最终导致用户无法使用,而我们的token都是在获取之放到缓存中的,代码反复检查也没有发现问题的解决办法,最后查阅资料把问题根源锁定到SharePre ...

  3. SharePreferences简单使用

    1,简单用法 a,取出SharePreferences 中的数据,如果没有数据不用担心不会报错. // [1.1]从info里面获取所需要的字段 SharedPreferences sp = getS ...

  4. android的sharePreferences存储登录用户存储

    sharePreferences特点 1.xml格式存储于data目录下的对应项目文件 2. final SharedPreferences sp =getSharedPreferences(&quo ...

  5. Android的SharePreferences存储的案例(qq账号存储)

    使用SharedPreferences类存储数据时,首先需要调用getSharedPreferences(String name,int mode)方法获取实例对象.由于该对象本身只能获取数据,不能对 ...

  6. 源码分析SharePreferences的apply与commit的区别

    apply与commit有什么区别 还是从源码分析来说明问题: 接上图标记B1处,看下: 所以这个handler发送消息后,handleMessage会被调用看下: 上图提到的Runnable对象是哪 ...

  7. android数据存储心得,android学习心得 轻量级存储SharePreferences

    SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean.int.float.long和St ...

  8. Android数据持久化:SharePreference

    SharePreference:作为Android数据持久化的一种,具有一定的便捷性,适合存储一些体积小的数据. 存储数据方式:键值对的方式,类似于Map: 利用SharePreference.Edi ...

  9. etw系统provider事件较多_【Flutter 实战】文件系统目录

    老孟导读:Flutter 中获取文件路径,我们都知道使用 path_provider,但对其目录对含义不是很清楚,此文介绍 Android.iOS 系统的文件目录,不同场景下建议使用的目录. 不同的平 ...

最新文章

  1. sklearn决策树模型机器学习参数解释很详细中文
  2. gan semi conductor
  3. Codeforces Round #529 (Div. 3) F. Make It Connected(最小生成树)
  4. MySQL 数据类型和 Java 数据类型对照表
  5. 使用Node 操作MySQL数据库
  6. AI、元宇宙技术方兴未艾,软件测试重装上阵
  7. mysql 行转列 显示_mysql 行转列 (结果集以坐标显示)
  8. ASP.NET MVC 企业级实战 —— 创建用户权限管理范例程序(三)
  9. 2.Magento请求分发与控制器(MVC)
  10. DBD::Oracle的库文件报失问题
  11. Windows 命令使用之 ping 命令
  12. 流水线、超流水线、超标量(superscalar)技术对比(转)
  13. 罗振宇2021“时间的朋友·长大以后”跨年演讲全文无删减整理,核心观点、大纲提炼
  14. U3D教程宝典之两步实现超实用的XML存档
  15. FROM_GLC的介绍与数据下载教程
  16. 国产六大CPU:飞腾、鲲鹏、龙芯、海光、申威、兆芯
  17. 小米笔记本12.5英寸装ubuntu后设置快捷键开启和关闭触摸板
  18. java并发原理实战(8)-- lock接口使用和认识
  19. 怎样快速画出一个正方体_素描教程:新手如何快速学会正方体
  20. 整理10种电脑截图工具(附带下载地址)

热门文章

  1. 清华本科生0人去阿里,交叉信息院硕士没人再深造
  2. “现在的自动驾驶太保守!”看看轻舟智航联合创始人大方这篇论文怎么说
  3. 项目运维工作的心得总结
  4. 收藏一篇访谈并做笔记:《[独家]与周鸿祎谈乔布斯》
  5. 自定义Lint检查规则
  6. outlook邮箱附件无法打开,提示无法创建文件
  7. 魔镜魔镜告诉我谁是世界上最美的人 语音唤醒,百度语音识别。从装系统开始
  8. 【前端开源模板推荐】
  9. Linux初探之如何查看帮助文档自学命令
  10. AVG7.5升级过期后新的许可代码