您的位置:首页 > Web前端

扣丁学堂——SharedPreferences

2015-12-07 15:58 330 查看
源码见本文

五大存储之SharedPreference

一、SharedPreference介绍

SharedPreference是我们常说的五大布局之一,我们之前的应用中也有简单的使用过,它非常适合保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口 令密码等。

二、SharedPreference使用方法

SharedPreference是一个接口因此我们在使用它的时候只能通过getSharedPreferences的方式去获得,如果要写入数据还需要获得他的编辑器Editor。

写数据:

1、getSharedPreferences();(参数:要存储的文件名,模式:三种,一般都是私有模式)

2、editor=preference.edit();(Editor获得编辑器)

3、editor.putString(“edittext”,”“);(以键值对的形式存储)

4、editor.commit();(注意editor需要提交)

读数据:

1、getSharedPreferences(“pre”, MODE_PRIVATE);(文件名+MODE)

2、String s=preference.getString(“”, “”);

模式介绍

Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写。

Context.MODE_WORLD_READABLE: 指定该SharedPreferences数据能被其他应用程序读,但不能写。

Context.MODE_WORLD_WRITEABLE: 指定该SharedPreferences数据能被其他应用程序读,写

三、课堂PPT











课程源码:完成保存数据功能:

public class MainActivity6 extends Activity {
    private SharedPreferences sp;
    private EditText editText_msg;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main6);

        editText_msg = (EditText) findViewById(R.id.editText_msg);

        //获取当前程序的SharedPreferences对象
        sp =  getSharedPreferences("msg", Context.MODE_PRIVATE);
    }

    //还原数据,当用户回到本activity时还原数据
    @Override
    protected void onResume() {
        super.onResume();
        editText_msg.setText(sp.getString("msg",""));
    }

    //我们在该事件方法里存储数据
    //当用户打开其它Activity时,本activity会进入这个状态,所以在这个状态中保存存数据
    @Override
    protected void onPause() {
        super.onPause();

        String msg =   editText_msg.getText().toString();

        if(TextUtils.isEmpty(msg)){
            return;
        }

        SharedPreferences.Editor editor =  sp.edit();

// 如果test.xml文件不存在,则会在editor.commit()时创建  
// 如果没有调用commit()方法,写入的内容不会保存,而且不会创建文件
        editor.putString("msg",msg);
        editor.commit();
    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: