安卓数据存储——SharedPreferences

ops/2024/9/23 7:09:58/

共享参数 SharedPreferences

1、sharedPreferences是Android的一个轻量级存储工具,采用的存储结构是key - value的键值对方式

2、共享参数的存储介质是符合XML规范的配置文件。保存路径是:/data/data/应用包名/shared_prefs/文件名.xml

使用场景:

  • 简单且孤立的数据。若是复杂且相互间有关的数据,则要保存在数据库中。
  • 文本形式的数据。若是二进制数据,则要保存在文件中。
  • 需要持久化存储的数据。在App退出后再次启动时,之前保存的数据仍然有效。
  • 实际开发中,共享参数经常存储的数据有App的个性化配置信息、用户使用App的行为信息、临时需要保存的片段信息等。
 SharedPreferences storage = getSharedPreferences("storage", Context.MODE_PRIVATE);
 //获取输入框值String name = input.getText().toString();String age = input1.getText().toString();//获得编辑器SharedPreferences.Editor editor = storage.edit();//添加数据editor.putString("name", name);editor.putInt("age", Integer.parseInt(age));//提交保存editor.commit();

保存的storage.xml内容

在这里插入图片描述

重新进入时将存储的内容读出来渲染到页面上

    private void reload() {String name = storage.getString("name", null);int age = storage.getInt("age", 0);if (name != null) {nameInput.setText(name);}if (age != 0) {ageInput.setText(String.valueOf(age));}}

案例代码

附:

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND


http://www.ppmy.cn/ops/114645.html

相关文章

node js版本低导致冲突WARN EBADENGINE package: required: { node: ‘>=18‘ }

重新安装依赖包 1、删除旧的 node_modules 目录和 package-lock.json 文件: rm -rf node_modules rm package-lock.json2、升级node版本 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bashexport NVM_DIR"$([ -z "${…

Android Glide:让图片加载从未如此简单

在 Android 开发中,图片加载一直是一个关键环节。无论是从网络还是本地加载图片,都需要考虑到性能、内存管理和用户体验等多个方面。而在这方面,Glide 成为了众多开发者的首选库之一。本文将带你深入了解 Glide 的强大之处,并介绍如何在项目中快速集成和使用 Glide。 为什…

旋转机械故障数据集 全网首发

旋转机械故障 数据集 11G资料 泵、齿轮箱、电机、流量、液压系统、轴承(西储大学、辛辛那提大学、FEMTO、MOSFET)、PHM08挑战数据集、我闪发动机降级模拟数据集、铣床等 旋转机械故障数据集 数据集描述 该数据集是一个综合性的旋转机械故障检测和诊断数据集,旨在…

语言模型的在线策略提炼:从自我错误中学习

原论文:On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes 摘要 知识蒸馏(KD)被广泛用于通过训练较小的学生模型来压缩教师模型,以降低推理成本和内存占用。然而,当前用于自回归序…

Kotlin 枚举和 when 表达式(六)

导读大纲 1.1 表示和处理选择: Enums和when1.1.1 声明枚举类和枚举常量1.1.2 使用 when 表达式处理枚举类 1.1 表示和处理选择: Enums和when 在本节中,我们将以在 Kotlin 中声明枚举为例,介绍 when 结构 when可以被视为比 Java 中 switch 结构更强大、更常用的替代品 1.1.1 …

利用JAVA写一张纸折叠珠穆拉玛峰高度

public class zhumulama {public static void main(String[] args) {double height 8848860;double zhi 0.1;int count 0;while(zhi < height){zhi*2;//每次折完厚度count;//计数}System.out.println("一共需要折"count"次");System.out.println(&qu…

算法题集锦go、java

1.两数之和 func twoSum(nums []int, target int) []int {hashTable : map[int]int{}for i,x : range(nums){if p,ok : hashTable[target-x];ok{return []int{p,i}}hashTable[x]i}return nil }class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer,I…

计算机网络第二章(部分)

R1. 五种非专用的因特网应用及它们所使用的应用层协议: 电子邮件 (Email) - 使用 SMTP&#xff08;简单邮件传输协议&#xff09;文件传输 (File Transfer) - 使用 FTP&#xff08;文件传输协议&#xff09;网页浏览 (Web Browsing) - 使用 HTTP/HTTPS&#xff08;超文本传输协…