SharedPreferences使用场景
轻量级存储工具,采用的存储结构是Key-Value的键值对方式。
共享参数的存储介质是符合XML规范的配置文件,打开Device File Explorer,保存路径是/data/data/应用包名/shared_prefs/文件名.xml
共享参数适用场合:
简单且孤立的数据,若是复杂且互相间有关的数据,则要保存在数据库中。
文本形式的数据。若是二进制数据,则要保存在文件中。
需要持久化存储的数据。在App退出后再次启动时,之前保存的数据仍然有效。
实际开发中,共享参数经常存储的数据有App的个性化配置信息、用户使用App的行为信息、临时需要保存的片段信息等。
*数据格式转换成int用Integer.parseInt(age)
数据格式转换成float用Float.parseFloat(height)
带小数纯数字输入android:inputType="number|numberDecimal"
private SharedPreferences preferences;
//写create里
preferences = getSharedPreferences("config",Context.MODE_PRIVATE);
reload();
保存的数据
实现记住密码功能
preferences = getSharedPreferences("config", Context.MODE_PRIVATE);
reload();
private void reload() {
String phone = preferences.getString("phone","");
String password = preferences.getString("password","");
Boolean isremember = preferences.getBoolean("isremember",false);
if(isremember){
et_phone.setText(phone);
et_password2.setText(password);
ck_remember.setChecked(true);
}
}
private void loginSuccess() {
String desc = String.format("用户%s,欢迎回来",et_phone.getText().toString());
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(desc);
builder.setPositiveButton("确定", (dialog, which) -> {
Intent intent = new Intent(this,DatePick.class);
startActivity(intent);
});
AlertDialog dialog = builder.create();
dialog.show();
if(ck_remember.isChecked()) {
SharedPreferences.Editor editor = preferences.edit();
editor.putString("phone",et_phone.getText().toString());
editor.putString("password",et_password2.getText().toString());
editor.putBoolean("isremember",ck_remember.isChecked());
editor.commit();
}
}
数据库SQLite(用的是mac)
数据库管理器SQLiteDatabase
数据库帮助器SQLiteOpenHelper
SQLiteOpenHelper是数据库辅助工具,用于指导开发者进行SQLite的合理使用。
(暂略)
(带我的大佬说这块数据库不用参考,后续便跳过了)