当前位置:网站首页>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) {
}
}
边栏推荐
猜你喜欢
MySql的concat和group_concat的区别
智能合约安全——私有数据访问
NFT市场开源系统
智能合约安全——delegatecall (2)
Usage of RecyclerView
Jupyter Notebook安装库;ModuleNotFoundError: No module named ‘plotly‘解决方案。
Simple and clear, the three paradigms of database design
简单明了,数据库设计三大范式
Delphi-C side interesting menu operation interface design
Thoroughly understand box plot analysis
随机推荐
Dictionary feature extraction, text feature extraction.
【深度学习21天学习挑战赛】备忘篇:我们的神经网模型到底长啥样?——model.summary()详解
逻辑回归---简介、API简介、案例:癌症分类预测、分类评估法以及ROC曲线和AUC指标
IvNWJVPMLt
k3s-轻量级Kubernetes
[Introduction to go language] 12. Pointer
AIDL communication between two APPs
动手学深度学习__张量
Androd Day02
flink-sql所有数据类型
ValueError: Expected 96 from C header, got 88 from PyObject
视图、存储过程、触发器
TensorFlow2 study notes: 5. Common activation functions
WARNING: sql version 9.2, server version 11.0.Some psql features might not work.
【CV-Learning】卷积神经网络
智能合约安全——溢出漏洞
剑指 Offer 2022/7/4
动手学深度学习_线性回归
Kubernetes基本入门-名称空间资源(三)
剑指 Offer 2022/7/1