Android 之 SharedPreferences
1 简介
SharedPreferences是一种轻量级的数据存储方式,它可以用键值对的方式把简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下(data/data/[包名] /shared_prefs/)自己定义的xml文件中
SharedPreferences 创建时可选的模式
MODE_PRIVATE //该文件只能被应用本身访问,写入的内容会覆盖原文件的内容
MODE_APPEND //该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件
2 具体实现如下:
2.1 主要代码
MainActivity.java
package com.michael.mysharedpreferences; import android.app.Activity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { public static final String SETTINGS_NAME="mysettings"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //开始配置 SharedPreferences //--------------------------------------- //第一个参数为 配置文件名 SharedPreferences spref = getSharedPreferences(SETTINGS_NAME, MODE_PRIVATE); Editor editor=spref.edit(); //保存数据至配置文件 editor.putString("user1", "michael"); editor.putInt("user1_age", 24); editor.putString("user1_sex", "男"); editor.commit(); //--------------------------------------- //结束 //现在开始测试获取数据 //--------------------------------------- String str; str=spref.getString("user1", "default"); str+='\n'; str+=spref.getInt("user1_age", 0); str+='\n'; str+=spref.getString("user1_sex", "default"); str+='\n'; TextView textview=(TextView)findViewById(R.id.textview); textview.setText(str); //--------------------------------------- } }
2.2 布局文件
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
3 运行结果
注:转载请注明出处 :) 毕竟代码是一个一个敲出来的啊,O(∩_∩)O~
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件