Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
SharedPreferences 操作
2023-11-06
public
class
SPActivity
extends
Activity {
/**使用SharedPreferences 来储存与读取数据**/
SharedPreferences mShared =
null
;
/**程序中可以同时存在多个SharedPreferences数据, 根据SharedPreferences的名称就可以拿到对象**/
public
final
static
String SHARED_MAIN =
"main"
;
/**SharedPreferences中储存数据的Key名称**/
public
final
static
String KEY_NAME =
"name"
;
public
final
static
String KEY_NUMBER =
"number"
;
/**SharedPreferences中储存数据的路径**/
public
final
static
String DATA_URL =
"/data/data/"
;
public
final
static
String SHARED_MAIN_XML =
"main.xml"
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
setContentView(R.layout.sharedpreferences);
/**拿到名称是SHARED_MAIN 的SharedPreferences对象**/
mShared = getSharedPreferences(SHARED_MAIN, Context.MODE_PRIVATE);
/**拿到SharedPreferences中保存的数值 第二个参数为如果SharedPreferences中没有保存就赋一个默认值**/
String name = mShared.getString(KEY_NAME,
"数据库中没有储存姓名"
);
String number = mShared.getString(KEY_NUMBER,
"数据库中没有储存号码"
);
final
EditText editName = (EditText)findViewById(R.id.sp_et0);
final
EditText editNumber = (EditText)findViewById(R.id.sp_et1);
editName.setHint(
"上次输入的姓名为【 "
+name+
"】"
);
editNumber.setHint(
"上次输入的号码为【 "
+number+
"】"
);
Button button0 = (Button)findViewById(R.id.sp_button0);
/**监听按钮点击后保存用户输入信息到SharedPreferences中**/
button0.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View arg0) {
/**拿到用户输入的信息**/
String name = editName.getText().toString();
String number = editNumber.getText().toString();
/**开始保存入SharedPreferences**/
Editor editor = mShared.edit();
editor.putString(KEY_NAME, name);
editor.putString(KEY_NUMBER, number);
/**put完毕必需要commit()否则无法保存**/
editor.commit();
ShowDialog(
"保存SharedPreferences成功"
);
}
});
Button button1 = (Button)findViewById(R.id.sp_button1);
button1.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View arg0) {
/**开始清除SharedPreferences中保存的内容**/
Editor editor = mShared.edit();
editor.remove(KEY_NAME);
editor.remove(KEY_NUMBER);
//editor.clear();
editor.commit();
ShowDialog(
"清除SharedPreferences数据成功"
);
}
});
Button button2 = (Button)findViewById(R.id.sp_button2);
button2.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View arg0) {
/** 删除SharedPreferences文件 **/
File file =
new
File(DATA_URL + getPackageName().toString()
+
"/shared_prefs"
, SHARED_MAIN_XML);
if
(file.exists()) {
file.delete();
}
ShowDialog(
"删除SharedPreferences文件成功"
);
}
});
super
.onCreate(savedInstanceState);
}
public
void
ShowDialog(String string) {
AlertDialog.Builder builder =
new
AlertDialog.Builder(SPActivity.
this
);
builder.setIcon(R.drawable.icon);
builder.setTitle(string);
builder.setPositiveButton(
"确定"
,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
whichButton) {
finish();
}
});
builder.show();
}
}
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
LinearLayout
xmlns:
Android
=
"http://schemas.android.com/apk/res/android"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:orientation
=
"vertical"
>
<
ImageView
android:id
=
"@+id/sp_image"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:src
=
"@drawable/image"
android:layout_gravity
=
"center"
/>
<
EditText
android:id
=
"@+id/sp_et0"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:hint
=
"请输入你的姓名"
>
</
EditText
>
<
EditText
android:id
=
"@+id/sp_et1"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:hint
=
"请输入你的号码"
>
</
EditText
>
<
Button
android:id
=
"@+id/sp_button0"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:text
=
"保存输入内容shared"
>
</
Button
>
<
Button
android:id
=
"@+id/sp_button1"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:text
=
"清除shared保存内容"
>
</
Button
>
<
Button
android:id
=
"@+id/sp_button2"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:text
=
"删除shared文件"
>
</
Button
>
</
LinearLayout
>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)
移动开发
数据库
SharedPreferences 操作 的相关文章
最大子列和问题(四种方法 !!!终极版本)
题目 给定K个整数组成的序列 N1 N 2 N K 连续子列 被定义为 Ni N i 1 Nj 其中 1 i j K 最大子列和 则被定义为所有连续子列元素的和中最大者 例如给定序列 2 11 4 13 5 2 其连续子列 11 4 13
随机推荐
Unity 优化1
我认为unity的优化可以从三方面入手 分别是资源优化 性能优化和内存优化 由于每一方面的优化内容都比较多 我在这里主要分析一下性能优化 系统性能的好与差主要是通过系统的相应时间来衡量的 如果系统的响应时间超过500毫秒 用户就会感觉到明显
ASAP标注软件安装教程Ubuntu20.04
以下转载自Github 需要针对ubuntu20 04 python3 8进行修改 DeepLearningCamelyon ASAP installation Ubuntu 16 04 at master 3dimaging DeepLe
神武跑环遇到服务器维护,神武跑环不再痛苦:任务链重点难点详解攻略
神武跑环不再痛苦 任务链重点难点详解攻略 大家快来看看吧 神武跑环不再痛苦 任务链重点难点详解攻略 相关新闻 任务链攻略 任务内容包括 找人 找到NPC对话即可 无时限 击败NPC 击败指定NPC即可 40分钟 难度较高 寻找物品交予NPC
kali功能介绍及安装(超详细)
kali功能介绍及安装 超详细 一 kali简介 1 描述 Kali Linux是一个操作系统 2013 03 13诞生 基于Debian Linux的发行版 基于包含了约600个安全工具 省去了繁琐的安装 编译 配置 更新步骤 为所有工具
Python字符串中的特殊字符
f 字符串 格式化字符串 在字符串前面加上 f 可以创建一个格式化字符串 在其中可以使用花括号 来插入变量或表达式的值 这种字符串会在运行时进行格式化处理 例如 name Alice age 25 print f My name is na
js实现图片懒加载原理
有时候一个网页会包含很多的图片 例如淘宝京东这些购物网站 商品图片多只之又多 页面图片多 加载的图片就多 服务器压力就会很大 不仅影响渲染速度还会浪费带宽 比如一个1M大小的图片 并发情况下 达到1000并发 即同时有1000个人访问 就会
学习记录Linux搭建nginx
安装编译工具及库文件 yum y install make zlib zlib devel gcc c libtool openssl openssl devel 首先要安装 PCRE 下载 PCRE 安装包 下载地址 http downl
Pycharm常用快捷键大全
版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net momoda118 article details 120155611 工欲善其事必先
如何将任意大小的图片填充成一个方形
这种方式我认为是最适合的图片预处理方式 随意resize会改变图片的特征 而进行填充的方式除了会改变原来标签的坐标以外 可以完全保留图片上所有的物体最原始的特征 def pad to square img pad value c h w i
用Gerrit commit时报错missing Change-Id in message footer
本人在第一次使用Gerrit时提交代码一直报change Id找不到 在git log的时候显示如下 查询其他文档发现是commit msg文件不存在导致的 现给出解决方案 提示错误 错误信息如下 remote Resolving delt
ctfshow终极考核wp
文章目录 web640 web641 web642 web643 web644 web645 web646 web647 web648 web649 web650 web651 web652 web653 web654 web640 打开页
【华为OD机试】支持优先级的队列【2023 B卷
华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 实现一个支持优先级的队列 高优先级先出队列 同优先级时先进先出 如果两个输入数据和优先级都相同 则后一个数据不入队列被丢弃 队列存储的数据内容是一个整数 输入描述 一
修改 Linux VM 中单个用户最大进程数的限制
在部署有并发任务执行的虚机上 会遇到 SSH 无法访问的问题 本文将帮助你找出其中一种比较特殊的原因 并提供解决方案 Note 以下案例分析基于 CentOS 7 对于其他版本的 Linux 操作系统 会略有不同 请注意 症状描述 虚机在正
BaoStock:一个免费、开源的python证券数据接口包
如果需要获取历史行情数据 www baostock com是个很好的免费 开源的Python证券数据接口包 特点 使用方便 免费免费免费 返回的绝大部分的数据格式都是pandas DataFrame类型 入门代码如下 import baos
分布式系统常用的模式
分布式系统常用的模式 Ambassador 名称 大使 模式 介绍 作为应用程序和其他服务的 中间人 负责应用程序和其他服务之间的通信 包括日志 监控或重试处理等任务 举例 K8S使用Envoy作为一个 大使 来简化服务之间的通信 优点 降
MySQL多表查询
目录 一 查询和新增结合 二 聚合查询 1 聚合函数 2 group by子句 三 联合查询 1 笛卡尔积 1 内连接 2 外连接 1 左外连接 2 右外连接 3 自连接 4 子查询 嵌套查询 5 合并查询 一 查询和新增结合 将表2中的数
第十二届蓝桥杯省赛第二场C/C++大学B组编程题题目及解析
目录 试题F 特殊年份 试题G 小平方 试题H 完全平方数 试题I 负载平衡 试题J 国际象棋 试题F 特殊年份 include
【Linux】设计模式
目录 1设计模式 1 1概念 1 2设计模式分类 1 3单例模式 1 4单例模式代码演示 1 4 1懒汉模式 1 4 2饿汉模式 2 读写锁 2 1概念 2 2加锁规则 2 3接口 2 3 1初始化接口 2 3 2销毁接口 2 3 3解锁接
第1章第5节:如何使用模板创建风格统一的幻灯片 [PowerPoint精美幻灯片实战教程]
使用模板可以创建美观 风格统一和专业的幻灯片 要使用模板创建幻灯片 首先点击此处的文件选项卡 进入文件功能页面 然后在左侧的命令列表中 点击新建命令 在页面的下方 是由微软提供的常见的演示文稿模板 也可以通过搜索框 搜索指定主题的模板 点击
SharedPreferences 操作
public class SPActivity extends Activity 使用SharedPreferences 来储存与读取数据 SharedPreferences mShared null 程序中可以同时存在多个SharedPr
热门标签
vue工作问题总结
半自动静态化
练习与杂项
ceffe
CGCL
深度学习编译中间件
Raneto
正则校验密码
正则密码格式
密码格式校验
图像去模糊
GSD
c总结性的东西
Lua协同程序
Lua协程
正则表达式验证邮箱
cast函数
项目风险