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. 千回百折:百度Java研发offer斩获记和经验分享

    起因 面试过程 等待offer的过程中悟道 Java面试常考知识点个人总结 过程 百度——作为国内互联网的巨头之一,最近的一些风波对其褒贬不一,但是类似事件不是第一次发生,也绝对不是最后一次,对于真的 ...

  2. LeetCode 368

    题目描述: Given a set of distinct positive integers, find the largest subset such that every pair (Si, S ...

  3. C# 记录错误日志

    程序的错误日志如何记录下来? 可以在遇到异常时,Catch异常,然后把异常的信息输出到txt文件中即可 /// <summary> /// 错误日志 /// </summary> ...

  4. iOS - Push 通知推送

    1.UserNotifications 通知是 App 用来和用户交流的一种方式,特别是当 App 并没有在前台运行的时候.通知,正如它的名称所强调的,被用作向用户'通知'一个事件,或者仅仅向用户提示 ...

  5. Union-Find Algorithm

    Union-Find Algrithm is used to check whether two components are connected or not. Examples: By using ...

  6. vagrant 安装使用 win7

    第一步.安装VirtualBox和vagrant 下载地址: https://www.virtualbox.org/wiki/Downloads http://downloads.vagrantup. ...

  7. 仿IOS 开关按钮

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. HttpHandler和ashx要实现IRequiresSessionState接口才能访问Session信息(转载)

    通常我们经常,通过session判定用户是否登录.还有一些临时的.重要的数据也尝尝存放在Session中. 在页面我们很容易的得到Session的值,但在类中就会遇到一些问题.也知道通过下面的方法得到 ...

  9. Examples For When-Validate-Item trigger In Oracle Forms

    The following example finds the commission plan in the COMMPLAN table, based on the current value of ...

  10. orcale 列改为大字段

    --添加临时列ALTER TABLE MPD_TASK_LIST ADD(  CLOB_TEMP clob);--数据拷贝到临时列update MPD_TASK_LIST set CLOB_TEMP ...