当前位置:网站首页>Android foundation [Super detailed android storage method analysis (SharedPreferences, SQLite database storage)]
Android foundation [Super detailed android storage method analysis (SharedPreferences, SQLite database storage)]
2022-08-04 06:07:00 【leave the keyboard】
目录
1.Android存储方式
1.1Android共有5medium storage:
SharedPreferences
内部存储(Internal Storage)
外部存储(External Storage)
SQLite数据库存储
网络存储(现阶段主流)
今天我们主要讲解SharedPreferences(文件存储)和SQLite数据库存储.
2.SharedPreferences(文件存储)
2.1简介
文件,相当于properties文件,数据存储都是使用键值对来存储.
2.2写入
a.获取SharedPreferences(①:getSharedPrefernces,②:getPrefernces)
①和②The difference between the acquisition method is the former two parameters(Store file name and mode of operation(int mode)),The latter has only one parameter of operation mode.
b.借助Editor,向SharedPreferenxce中写入数据.
c.写入数据,Only raw basic data can be written(boolean,float,int,long,String),Compound data cannot be written.
d.提交数据.
调用 SharedPreferences.Editor 的 commit() method to submit updates to SharedPreferences 中.
String name="zs";
String pwd="123";
SharedPreferences sp= getSharedPreferences("logininfo",MODE_PRIVATE);
SharedPreferences.Editor edit = sp.edit();
edit.putString("name",name);
edit.putString("pwd",pwd);
edit.commit();
2.3读取
a.获取sharedPrefernces.
b.获取数据.
SharedPreferences sp1= getSharedPreferences("logininfo",MODE_PRIVATE);
String sp_name = sp1.getString("name", "");
String sp_pwd = sp1.getString("pwd", "");
3.SQLite数据库存储
3.1简介
特点:轻量,无需配置.
缺点:本地化.
3.2创建
a.用Class,DBHelper 继承SQLiteOpenHelper.
public class DBHelper extends SQLiteOpenHelper {
}
b.实现两个抽象方法 onCreate() onUpgrade() 创建一个带参的构造方法.
public class DBHelper extends SQLiteOpenHelper {
public DBHelper(@Nullable Context context) {
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
c.在构造方法中 创建数据库.
public class DBHelper extends SQLiteOpenHelper {
public DBHelper(@Nullable Context context) {
super(context, "school.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
d.在onCreate() 方法中,创建表和插入数据.
public class DBHelper extends SQLiteOpenHelper {
public DBHelper(@Nullable Context context) {
super(context, "school.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("create table student(sid integer primary key,sname text,sex text)");
sqLiteDatabase.execSQL("insert into student values(1,'zs','男')");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
边栏推荐
- fill_between in Matplotlib; np.argsort() function
- 【CV-Learning】图像分类
- 剑指 Offer 2022/7/11
- sklearn中的学习曲线learning_curve函数
- 动手学深度学习_线性回归
- [Deep Learning 21 Days Learning Challenge] Memo: What does our neural network model look like? - detailed explanation of model.summary()
- 【树 图 科 技 头 条】2022年6月27日 星期一 今年ETH2.0无望
- 二月、三月校招面试复盘总结(一)
- win云服务器搭建个人博客失败记录(wordpress,wamp)
- 【深度学习21天学习挑战赛】1、我的手写被模型成功识别——CNN实现mnist手写数字识别模型学习笔记
猜你喜欢
随机推荐
[Deep Learning 21-Day Learning Challenge] 3. Use a self-made dataset - Convolutional Neural Network (CNN) Weather Recognition
剑指 Offer 2022/7/5
智能合约安全——delegatecall (1)
组原模拟题
智能合约安全——私有数据访问
AIDL communication between two APPs
TensorFlow2学习笔记:4、第一个神经网模型,鸢尾花分类
(十二)树--哈夫曼树
Kubernetes基本入门-名称空间资源(三)
【CV-Learning】目标检测&实例分割
MySQL leftmost prefix principle [I understand hh]
属性动画的用法 以及ButterKnife的用法
flink-sql所有数据类型
剑指 Offer 2022/7/12
postgres 递归查询
flink-sql大量使用案例
yolov3中数据读入(一)
flink-sql自定义函数
TensorFlow2 study notes: 6. Overfitting and underfitting, and their mitigation solutions
SQL练习 2022/7/3