Android学习总结——SharedPreferences

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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=getPreferences(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 TextView tv;
    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",""));
        }



//        tv=(TextView) findViewById(R.id.tv);
//
//        //获得SharedPreferences对象
//        SharedPreferences spf=getPreferences(MODE_PRIVATE);
//        //获得SharedPreferences.Editor对象
//        SharedPreferences.Editor edit=spf.edit();
//        //通过Editor接口的putXxx方法保存key-value对 其中Xxx表示不同的数据类型
//        edit.putString("name","yang");
//        //通过Editor接口的commit方法保存key-value
//        edit.commit();
//        tv.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;
        }
    }
}

 

以上是关于Android学习总结——SharedPreferences的主要内容,如果未能解决你的问题,请参考以下文章

Android学习总结——开篇

Android适配全攻略(学习笔记总结)

转Android开发学习总结——搭建最新版本的Android开发环境

Android学习总结——Broadcast

20172327 2017-2018-2 《第一行代码Android》第一章学习总结

Android开发学习总结——Android应用目录结构分析(转)