当前位置:网站首页>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) {
}
}边栏推荐
- 组原模拟题
- [Deep Learning 21 Days Learning Challenge] 1. My handwriting was successfully recognized by the model - CNN implements mnist handwritten digit recognition model study notes
- (十三)二叉排序树
- (十)树的基础部分(二)
- oracle的number与postgresql的numeric对比
- TensorFlow2 study notes: 4. The first neural network model, iris classification
- TensorFlow2学习笔记:4、第一个神经网模型,鸢尾花分类
- [Introduction to go language] 12. Pointer
- Vision Transformer 论文 + 详解( ViT )
- 动手学深度学习__张量
猜你喜欢
随机推荐
MySQL事务详解(事务隔离级别、实现、MVCC、幻读问题)
[Deep Learning 21 Days Learning Challenge] Memo: What does our neural network model look like? - detailed explanation of model.summary()
flink-sql所有表格式format
【CV-Learning】目标检测&实例分割
安卓连接mysql数据库,使用okhttp
剑指 Offer 2022/7/11
【go语言入门笔记】13、 结构体(struct)
IvNWJVPMLt
Android connects to mysql database using okhttp
MySql的concat和group_concat的区别
剑指 Offer 2022/7/8
NFT市场开源系统
pgsql函数中的return类型
SQL练习 2022/7/4
视图、存储过程、触发器
flink on yarn指定第三方jar包
属性动画的用法 以及ButterKnife的用法
(五)栈及其应用
判断字符串是否有子字符串重复出现
flink-sql自定义函数









