SharePreference的使用
android开发基础之SharePreference的使用
在android里头,可以分为内部存储和外部存储。
外部存储也就是SD卡存储,或者说是扩展卡存储
而内部存储的则是/data/data/包名/files、caches、databases、shared_prefs
它们用于存储文件,存储缓存,存储数据库,也用于存储设置的内容,也就是偏好啦!
这节课我们是学习怎么使用sharePreference来保存数据。
sharepreference一般用于储存配置信息,比如说是否是第一次启动呀,这个应用的id号,用户的账号和加密以后的密等等
SharePreference
一般用于保存这个偏好设置,比如说我们设置里面的条目。
sharepreference使用步骤
- 第一步:拿到这个SharePreference. mSharedPreferences = this.getSharedPreferences(“settings_info”, MODE_PRIVATE); 这里面这个this指的是上下文Context,在视频中我们是在Activity里面所以直接使用this。因为这Activity间接地继承了Context。
- 第二步:进入编辑模式 SharedPreferences.Editor edit = mSharedPreferences.edit();
拿这个编辑器
- 第三步:保存数据 edit.putBoolean(“state”, isChecked);
保存要保存的数据,类型有boolean,有String,float,StringSet,int.
- 第四步:提交编辑器 edit.commit(); 经过这四个步骤,我们就可以把数据保存到SharePreference里了!
/**
* Created by TrillGates on 17/9/3.
* God bless my code!
*/
public class PreferenceDemoActivity extends Activity implements CompoundButton.OnCheckedChangeListener {
private static final String TAG = "PreferenceDemoActivity";
private Switch mIsAllowUnknownSource;
private SharedPreferences mSharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preference_demo);
//找到控件
mIsAllowUnknownSource = (Switch) this.findViewById(R.id.is_allow_unknown_apps_sources_switch);
mIsAllowUnknownSource.setOnCheckedChangeListener(this);
mSharedPreferences = this.getSharedPreferences("settings_info", MODE_PRIVATE);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//我们在这里需要对数据进行保存
Log.d(TAG, "current state == " + isChecked);
SharedPreferences.Editor edit = mSharedPreferences.edit();
edit.putBoolean("state", isChecked);
edit.commit();
}
}
shareprefernece存储也是属于这个内部存储,它跟files/cache也是一样的,在/data/data/报名下/shared_prefs 以xml的文件形式保存起来。它有一个特点,内容保存都是是键值对的方式进行保存。
话不多说,看视频吧:
在线视频:
https://www.sunofbeach.net/c/1443881236287311874