博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android SharedPreference的使用
阅读量:6702 次
发布时间:2019-06-25

本文共 2337 字,大约阅读时间需要 7 分钟。

在《》一文中,谈到了登录用户名和密码的方法,通过读取内存文件来实现,但是会出现问题,因为登录名和密码的形式通过username##password的形式,读取的时候以##为分割线,但是一旦用户名中存在##就会出现问题,本文使用SharedPreference来解决这个问题

1. 定义布局

使用之前的布局
2. 把组件的状态用SharedPreference保存起来

* 往SharedPreference里写数据

//拿到一个SharedPreference对象

SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
//拿到编辑器
Editor ed = sp.edit();
ed.putBoolean("checkBox", isChecked);
ed.commit();

* 从SharedPreference里取数据

SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);

//从SharedPreference里取数据
boolean b = sp.getBoolean("checkBox", false);

简化后的代码如下:

package com.wuyudong.sharedpreference;import android.os.Bundle;import android.app.Activity;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.view.Menu;import android.view.View;import android.widget.EditText;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 获取到SharedPreference对象        SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);        //获取sp中的内容        String name = sp.getString("name", "");        String pass = sp.getString("pass", "");        EditText et_name = (EditText) findViewById(R.id.et_name);        EditText et_pass = (EditText) findViewById(R.id.et_pass);        //数据回显至输入框        et_name.setText(name);        et_pass.setText(pass);    }    public void click(View v) {        EditText et_name = (EditText) findViewById(R.id.et_name);        EditText et_pass = (EditText) findViewById(R.id.et_pass);        String name = et_name.getText().toString();        String pass = et_pass.getText().toString();        // 获取到SharedPreference对象        SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);        // 得到编辑器        Editor ed = sp.edit();        ed.putString("name", name);        ed.putString("pass", pass);        ed.commit();    }}

其实android中的很多设置都用到了SharedPreference

例如

查看com.android.settings/shared_prefs下的com.android.settings_preferences.xml文件

1.30
drm-only

 

转载地址:http://itgoo.baihongyu.com/

你可能感兴趣的文章
关于电脑的基础单词笔记
查看>>
andriod 新建 Activity_ Form (详细设置)
查看>>
Java中的==和equals区别
查看>>
烂泥:【解决】word复制windows live writer没有图片
查看>>
Coursera课程 Programming Languages, Part C 总结
查看>>
安卓App设计博文
查看>>
redis 操作
查看>>
Spark RDD算子介绍
查看>>
Vue渲染函数
查看>>
stl的优先级队列
查看>>
【NOIP考前模拟赛】纯数学方法推导——旅行者问题
查看>>
对象之int介绍
查看>>
Django的models操作
查看>>
Linux用户管理
查看>>
矩阵连乘积 ZOJ 1276 Optimal Array Multiplication Sequence
查看>>
BZOJ2425:[HAOI2010]计数——题解
查看>>
spring集成多个rabbitMQ
查看>>
Hibernate 中配置属性详解(hibernate.properties)
查看>>
使用面向对象技术创建高级 Web 应用程序
查看>>
ubuntu命令收集
查看>>