使用SharedPreferences存储用户配置信息
用SharedPreferences来保存用户的基本配置信息非常的方便,实现起来也很容易;以下是一个简单的例子:
效果截图:

主要代码:
public class MainActivity
extends AppCompatActivity
implements View.OnClickListener {
private EditText mEtName;
private EditText mEtPassword;
private CheckBox mCbMark;
private Button mBtnOk;
private final String KEY_NAME = "name";
private final String KEY_PASSWORD = "password";
private final String KEY_MARK = "mark"; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); initViews();
} @Override
public void onClick(View v) {
String name = mEtName.getText().toString().trim();
String password = mEtPassword.getText().toString().trim();
if ("".equalsIgnoreCase(name) || "".equalsIgnoreCase(password)) {
Toast.makeText(this, "账号和密码不能为空!", Toast.LENGTH_LONG).show();
}
else {
SharedPreferences userInfo = getSharedPreferences("user_info", MODE_PRIVATE);
SharedPreferences.Editor editor = userInfo.edit();
editor.putString(KEY_NAME, name);
editor.putBoolean(KEY_MARK, mCbMark.isChecked());
if (mCbMark.isChecked()) {
editor.putString(KEY_PASSWORD, password);
}
else {
editor.putString(KEY_PASSWORD, "");
}
editor.apply();//---应用操作 Toast.makeText(this, "用户信息保存成功!", Toast.LENGTH_LONG).show();
}
} private void initViews() {
SharedPreferences userInfo = getSharedPreferences("user_info", MODE_PRIVATE); mEtName = (EditText)findViewById(R.id.etName);
mEtPassword = (EditText)findViewById(R.id.etPassword);
mCbMark = (CheckBox)findViewById(R.id.cbMark);
mBtnOk = (Button)findViewById(R.id.btnOk); mBtnOk.setOnClickListener(this);
mEtName.setText(userInfo.getString(KEY_NAME, ""));
if (userInfo.getBoolean(KEY_MARK, true)) {
mEtPassword.setText(userInfo.getString(KEY_PASSWORD, ""));
mCbMark.setChecked(true);
}
else {
mEtPassword.setText("");
mCbMark.setChecked(false);
} }
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.haoye.preferencestest.MainActivity"
android:orientation="vertical"
android:gravity="center_horizontal"
android:weightSum="100"> <EditText
android:id="@+id/etName"
android:layout_marginTop="20dp"
android:layout_width="300dp"
android:layout_height="50dp"
android:textSize="24sp"
android:hint="@string/name_hint"/>
<EditText
android:id="@+id/etPassword"
android:layout_marginTop="20dp"
android:layout_width="300dp"
android:layout_height="50dp"
android:inputType="textPassword"
android:textSize="24sp"
android:hint="@string/password_hint"/>
<CheckBox
android:id="@+id/cbMark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/cb_mark"/>
<Button
android:id="@+id/btnOk"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_ok"/> </LinearLayout>
resources 文件:
<resources>
<string name="app_name">PreferencesTest</string>
<string name="name_hint">请输入用户名</string>
<string name="password_hint">请输入密码</string>
<string name="btn_ok">确定</string>
<string name="cb_mark">记住密码</string>
</resources>
使用SharedPreferences存储用户配置信息的更多相关文章
- Android记录4--自定义ToggleButton+用SharedPreferences保存用户配置
Android记录4--自定义ToggleButton+用SharedPreferences保存用户配置 2013年8月14日Android记录 很多应用都会有用户设置,用户的一些偏好可以由用户来决定 ...
- [转]mvc3 使用session来存储类来存储用户登陆信息
mvc3 使用session来存储类来存储用户登陆信息 2013-08-26 09:48:56| 分类: NET开发 |举报 |字号 订阅 项目之前的登陆机制是这样的:用户登陆后初始化一个类,类 ...
- webdriver高级应用- 启动带有用户配置信息的firefox浏览器窗口
由于WebDriver启动FireFox浏览器时会启用全新的FireFox浏览器窗口,导致当前机器的FireFox浏览器已经配置的信息在测试中均无法生效,例如已经安装的浏览器插件.个人收藏夹等.为了解 ...
- Android 自定义ToggleButton+用SharedPreferences保存用户配置
布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi ...
- ASP.NET MVC用户登录(Memcache存储用户登录信息)
一.多站点共享用户信息解决方案: 采用分布式缓存Memcache模拟Session进行用户信息信息共享 1.视图部分
- WinForm中使用XML文件存储用户配置及操作本地Config配置文件
大家都开发winform程序时候会大量用到配置App.config作为保持用户设置的基本信息,比如记住用户名,这样的弊端就是每个人一些个性化的设置每次更新程序的时候会被覆盖. 故将配置文件分两大类: ...
- SharedPreferences保存用户登录信息
UI界面:
- DRDS和RDS主要用来存储用户交易信息,MongoDB主要用来存储商品维度信息
数据集成Data Integration-数加-大数据-阿里云 https://www.aliyun.com/product/cdp 数据集成支持的数据源 数据源类型 数据源 来源数据源被读取 目标数 ...
- WinForm中使用XML文件存储用户配置及操作本地Config配置文件(zt)
因项目中采用CS结构读取Web.config文件,故参照一下的连接完成此功能,在此感谢原作者! 原文地址: http://www.cnblogs.com/zfanlong1314/p/3623622. ...
随机推荐
- Linux-7.2+LNMP+zabbix-3.2.1
LNMP+zabbix-3.2.1 一.zabbix服务端部署 1.解压 yum –y install bzip2 tar -xf nginx-1.10.1.tar.gz tar -xf php-5. ...
- HTTP各状态消息说明
200:请求已成功,请求所希望的响应头或数据体将随此响应返回. 302:请求的资源临时从不同的 URI 响应请求.由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求.只有在 Cache- ...
- linux下zookeeper 配置参数
-----------zookeeper 配置文件 clientPort ---服务的监听端口dataDir ---用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里 (注意 ...
- Foundation Kit介绍
Cocoa实际上是由许多个不同的框架组成的,其中最常用于桌面端(OS X)应用程序的是Foundation和Application Kit.它包含了所有的用户界面对象和高级类.如果打算开发ios平台上 ...
- [前言] 实现一个Android电子书阅读APP
大家好,我是小方,我将在接下来的几篇文章中从零实现一个网络小说阅读器,从安卓编程最基础的部分讲起,直至成功完成我们的应用,从新建一个项目开始,不断添加新的代码,添加新的界面,循序渐进,涵盖所有我们需要 ...
- .net平台的rabbitmq使用封装
前言 RabbitMq大家再熟悉不过,这篇文章主要整对rabbitmq学习后封装RabbitMQ.Client的一个分享.文章最后,我会把封装组件和demo奉上. Rabbitmq的运作 从下图可以看 ...
- Java设计模式之《桥接模式》及应用场景
摘要: 原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6497919.html 这里摘抄一份他处的概念,你可以不必理会,先看下面得讲解与实例, ...
- 指针与数据结构算法_链表(C语言)
一.变量: 声明一个变量系统是没有给这个变量分配内存空间的: 例: int j;//编译的时候是没有分配内存空间的 ;//计算机在编译的时候就会给这个i分配4个字节的内存空间 二.malloc动态分配 ...
- 用DapperExtensions和反射来实现一个通用搜索
前言 搜索功能是一个很常用的功能,当然这个搜索不是指全文检索,是指网站的后台管理系统或ERP系统列表的搜索功能.常见做法一般就是在搜索栏上加上几个常用字段来搜索.代码可能一般这样实现 StringBu ...
- 去掉Dedecms幻灯片的标题文字和绿色背景
在操作dedecms站群中的站,因为看到首页的幻灯片Flash显示标题和文字,显得有点突兀,觉得应该去除dedecms 幻灯片默认的文字标题和背景,这样会感觉舒服些,下面教大家如何在模板当中去除ded ...