SharedPreferences是使用键值对的方式来存储数据。

要想使用SharedPreferences来存储数据,必须获取SharedPreferences对象,获取SharedPreferences对象的方法。


Context.getSharedPreferences( )


Activity.getPreferences( )


PreferenceManager.getDefaultSharedPreferences( )


方式:

1、获取SharedPreferences对象

2、通过SharedPreferences对象的edit( )方法获取SharedPreferences.Editor对象

3、向SharedPreferences.Editor对象中添加数据

4、使用commit( )方法提交数据


package com.example.sharedprferencestest;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; public class MainActivity extends Activity implements View.OnClickListener{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button save_btn = (Button)findViewById(R.id.save_button);
save_btn.setOnClickListener(this);
} @Override
public void onClick(View v) { SharedPreferences sharedPreferences = getSharedPreferences("data2",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("用户名","wz");
editor.putString("密码","root");
editor.putBoolean("是否保存密码",false);
editor.commit();
}
}

package com.example.sharedprferencestest;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener{ @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button save_btn = (Button)findViewById(R.id.save_button);
save_btn.setOnClickListener(this); Button restore_btn =(Button)findViewById(R.id.restore_button);
restore_btn.setOnClickListener(this);
} @Override
public void onClick(View v) { SharedPreferences sharedPreferences = getSharedPreferences("data2", MODE_PRIVATE);
switch(v.getId()){
case R.id.save_button:
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("用户名","wz");
editor.putString("密码", "root");
editor.putBoolean("是否保存密码", false);
editor.commit();
break;
case R.id.restore_button:
String username = sharedPreferences.getString("用户名",null);
String password = sharedPreferences.getString("密码",null);
boolean hint = sharedPreferences.getBoolean("是否改变密码", false);
Toast.makeText(getApplicationContext(),username,Toast.LENGTH_SHORT).show();
break;
default:
break;
} }
}

记住密码案例
package com.example.account;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener{ private Button btn;
private EditText account;
private EditText password;
private CheckBox rememberPassword; private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); account = (EditText)findViewById(R.id.account);
password = (EditText)findViewById(R.id.password);
btn = (Button)findViewById(R.id.login);
rememberPassword = (CheckBox)findViewById(R.id.remember_password); sharedPreferences = getSharedPreferences("login", MODE_PRIVATE);
editor = sharedPreferences.edit(); boolean isRemember = sharedPreferences.getBoolean("isRemember",false); if(isRemember){
String username = sharedPreferences.getString("account","");
String pwd = sharedPreferences.getString("password","");
account.setText(username);
password.setText(pwd);
rememberPassword.setChecked(true);
} btn.setOnClickListener(this); } @Override
public void onClick(View v) { switch (v.getId()){
case R.id.login:
String accountContent = account.getText().toString();
String passwordContent = password.getText().toString();
if(accountContent.equals("root") && passwordContent.equals("root")){
if(rememberPassword.isChecked()){
editor.putString("account",accountContent);
editor.putString("password",passwordContent);
editor.putBoolean("isRemember",true);
}else{
editor.clear();
}
editor.commit();
Intent intent = new Intent();
intent.setClass(MainActivity.this,LoginSuccess.class);
startActivity(intent);
finish();
}else{
Toast toast = Toast.makeText(MainActivity.this,"account or password is invalid",Toast.LENGTH_SHORT);
toast.show();
}
break;
default:
break;
}
}
}

Android数据持久化技术 — — —SharedPreferences的更多相关文章

  1. Android数据持久化技术 — — —文件存储

    文件保存 package com.example.datastroredtest; import android.app.Activity;import android.os.Bundle;impor ...

  2. Android数据存储-通过SharedPreferences实现记住密码的操作

    在Android中登陆中,为了实现用户的方便,往往需要根据用户的需要进行记住密码的操作,所以,在Android数据存储中SharedPreferences恰恰可以实现这一点 下面,小编将带领大家通过S ...

  3. Android数据存储技术

    Android提供了4种数据存储技术,分别是SharedPreferences.Files.SQLite数据库和网络存储数据.(有的开发者认为使用ContentProvider也可以算是一种,但我觉得 ...

  4. Android数据存储方式--SharedPreferences

    Android数据存储方式有如下四种:SharedPreferences.存储到文件.SQLite数据库.内容提供者(Content provider).存储到网络服务器. 本文主要介绍一下Share ...

  5. Android数据存储之SharedPreferences存储

    安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布 ...

  6. Android 数据存储之 SharedPreferences储存

    ------------------------------------------SharedPreferences存储--------------------------------------- ...

  7. Android数据存储之sharedpreferences与Content Provider

    android中对数据操作包含有: file, sqlite3, Preferences, ContectResolver与ContentProvider前三种数据操作方式都只是针对本应用内数据,程序 ...

  8. Android数据存储三剑客——SharedPreferences、File、SQLite

    Android中常用的数据存储一般有三种方式:SharedPreferences.文件和SQLite数据库,用来保存需要长时间保存的数据.本文将通过几个具体的小实例来讲解这三种方式的具体实现. 数据存 ...

  9. iOS中常用的四种数据持久化技术

    iOS中的数据持久化方式,基本上有以下四种:属性列表 对象归档 SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults st ...

随机推荐

  1. CentOS 安装 lamp(转)

    一般情况下,安装的都是最新的正式版,除非你有特殊需求,要安装指定的版本,本文暂不讨论.从最基础的开始,一点点完成一个可用的 Linux 主机.这里就开始介绍如何在 CentOS 6.0 上安装 LAM ...

  2. SQL Server 2012 联机丛书离线安装

    昨日根据微软官网的方式安装SQL Server 2012 联机丛书报错,无法安装: 联机丛书下载位置及安装方式: 按照给出的方式安装,无法完成,错误如下:

  3. 滴滴快车,安全把你带到凡科安全知识h5大赛

    滴滴出行提出"安全第一.体验第二.效率第三"的可持续发展宗旨.近期,滴滴出行还推广了"安全带"宣传,包括明星夫妻CP安全带姿势和明星后排安全带语音播报等,来提升 ...

  4. Android开发之无线遥控器

    最近弄了一个UDP/TCP的小东西,主要需要实现的功能如下(服务器端): 1.基于局域网 2.服务器端网络接口为无线与有线 3.服务器端接收到客户端的数据需要模拟按键进行处理 4.开机自启动 5.使用 ...

  5. windows 服务实例

    参考来源:http://blog.csdn.net/morewindows/article/details/6858216 参考来源: http://hi.baidu.com/tfantasy/ite ...

  6. htmlunit官网简易教程(翻译)

    1 环境搭建: 1)下载 从链接:http://sourceforge.net/projects/htmlunit/files/htmlunit/ 下载最新的bin文件 2)关于bin文件 里面主要包 ...

  7. Java中用ClassLoader载入各种资源(类、文件、web资源)的方法

    lassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. ClassLoader负责载入系 ...

  8. js/jquery 去掉空格.回车.换行

    本文转载自 http://hi.baidu.com/niubore/item/426532faab4ddcc50dd1c8f9 Jquery:$("#accuracy").val( ...

  9. Scala学习(二)

    二.Scala基础 1.变量:三种修饰符 -> ①val 常亮②var 变量③lazy val 惰性变量求值 2.类型 3.代码块 Block {exp1;exp2} 或 { exp1 exp2 ...

  10. 制作简单的2D物理引擎(零)

    最近发现了Github上的开源物理引擎项目Matter.js,对它很感兴趣,发现源码并不算长,算上注释大约1万行左右,值得剖析一番.Matter.js实现一个最小化的2D物理引擎,性能不错,故打算用C ...