Android学习总结——SharedPreferences

SharePreferences存储方式,只是轻量级数据存储,xml格式的数据显示方式。
简单存储步骤如下:
一:获取SharePreferences对象
1.SharedPreferences pref = getSharedPreferences(文件名,访问权限);
或者
2.SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
二:创建对象的方法实例
pref.Editor editor = pref.edit();
三:往文件中添加数据
editor.putXxxx(key,value);
Xxxx代表value的数据类型。
四:提交editor
editor.commit();
//获得SharedPreferences对象
SharedPreferences spf=getSharedPreferences("data",MODE_PRIVATE);
//获得SharedPreferences.Editor对象
SharedPreferences.Editor edit=spf.edit();
//通过Editor接口的putXxx方法保存key-value对 其中Xxx表示不同的数据类型
edit.putString("name","yang");
//通过Editor接口的commit方法保存key-value
edit.commit();

获取存储的值:

spf.getString("name","");
package com.example.sharedpreferencedemo1;

import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private EditText user,pwd;
private CheckBox SaveUser;
private Button login;
private SharedPreferences spf;
private SharedPreferences.Editor editor; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); user= (EditText) findViewById(R.id.et_User);
pwd= (EditText) findViewById(R.id.et_Pwd);
SaveUser=(CheckBox) findViewById(R.id.cb_SaveUser);
login=(Button) findViewById(R.id.btn_Login); login.setOnClickListener(this); spf=getSharedPreferences("myPref", MODE_PRIVATE);
editor=spf.edit(); if(spf.getString("name","").equals("")){
SaveUser.setChecked(false);
}else {
SaveUser.setChecked(true);
user.setText(spf.getString("name",""));
}
} @Override
public void onClick(View v) {
//获取界面的用户名和密码,trim()方法去除输入的空格
String name=user.getText().toString().trim();
String Pwd=pwd.getText().toString().trim(); switch (v.getId()){
case R.id.btn_Login:
if(name.equals("yxch")&&Pwd.equals("123456")){
if(SaveUser.isChecked()){
editor.putString("name",name);
editor.commit();
}
else {
editor.remove(name);
editor.commit();
}
Toast.makeText(this,"登录成功!",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(this,"用户名:yxch 密码:123456",Toast.LENGTH_SHORT).show();
}
break;
}
}
}
上一篇:Java源码阅读的真实体会(一种学习思路)


下一篇:Java源码阅读Stack