关闭

SharedPreferences

标签: SharedPreferenceandroid存储应用
169人阅读 评论(0) 收藏 举报

SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置。
在Android系统中,ShredPreferences中的信息以XML文件的形式保存在 /data/data/PACKAGE_NAME/shared_prefs目录下。
SharedPreferences数据的四种操作模式:
Context.MODE_PRIVATE
Context.MODE_APPEND
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入

package com.example.sharedpreference;

import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

    private EditText et_name;
    private EditText et_pass;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_name=(EditText) findViewById(R.id.et_name);
        et_pass=(EditText) findViewById(R.id.et_pass);
        readAccount();//获取账号密码
    }

    private void readAccount() {
        //获取sharedpreference对象
        SharedPreferences sp=getSharedPreferences("info", MODE_PRIVATE);
        String name=sp.getString("name", "");
        String pass=sp.getString("pass", "");

        et_name.setText(name);
        et_name.setText(pass);
    }
    public void login(View v){
        //获取用户输入的账号密码
        String name = et_name.getText().toString();
        String pass = et_pass.getText().toString();

        CheckBox cb=(CheckBox) findViewById(R.id.cb);
        //判断选择框是否被选中
        if(cb.isChecked()){
            //获取sharedpreference对象
            SharedPreferences sf=getSharedPreferences("info", MODE_PRIVATE);
            //获取编辑器
            Editor ed = sf.edit();
            //写数据
            ed.putString("name", name);
            ed.putString("pass", pass);
            //提交
            ed.commit();
        }
        //显示toast对话框
        Toast.makeText(this, "登录成功", Toast.LENGTH_LONG).show();
    }

}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9428次
    • 积分:336
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章存档
    最新评论