基本每次写程序都需要写一次sql相关管理类甚是麻烦,因此寻找各种第三方数据库软件,至今感觉最好用的还是DBFlow
官网地址 https://agrosner.gitbooks.io/dbflow/content/
不会造船也要知道怎么开船,那么简单记录下使用方法
1.加载相关库文件
在项目目录下的加入:
allprojects {
repositories {
google()
jcenter()
maven { url "https://www.jitpack.io" }
}
}
在app的build.gradle的dependencies下加入
def dbflow_version = "4.1.2" // reference the releases tab on Github for latest versions
annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
implementation "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
implementation "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"
dbflow_version是你使用的库的版本比如:
def dbflow_version = "4.1.2"
2.初始化
建议初始化工作放在Application的onCreate中
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
db_init();
}
void db_init(){
FlowManager.init(this);//初始化
// FlowLog.setMinimumLoggingLevel(FlowLog.Level.E);//日志打印用,查看数据库操作日志,但是部分等级会出现BUG导致初次使用时找不到数据请谨慎使用
}
}
这样数据库的准备工作就完成了。
3.创建数据库表
创建表格类
@Table(database = AppDatabase.class)
public class UserModel extends BaseModel {
@PrimaryKey(autoincrement = false)
@Column
public String user_id;
@NonNull
@Column
public int age = 0;
@NonNull
@Column
public String name = "";
}
创建好之后ctrl+F9(Make Project),就能使用了,其他操作管理由DBFlow帮我们完成
4.数据操作
(1).查询数据
List<UserModel> ls_user =
SQLite.select()
.from(UserModel.class)
.queryList();
(2).增加/更新数据
public boolean updateOrAdd(UserModel userModel){
if(userModel==null){
return false;
}
UserModel u = SQLite.select()
.from(UserModel.class).where(UserModel_Table.user_id.eq(userModel.user_id))
.querySingle();
if(u!=null){
u.age = userModel.age;
u.name = userModel.name;
return u.update();
}else {
return userModel.save();
}
}
(3).删除数据
SQLite.delete()
.from(UserModel.class).where(UserModel_Table.user_id.eq(user_id))
.execute();
基本操作都在这里了,想继续研究就去看官方代码呗