目录
Android数据库存储数据(Room、GreenDao、Sqlite)
二、Google的Room组件框架(参考官网学习地址:学习Room):
Android数据库存储数据(Room、GreenDao、Sqlite)
一、GreenDao的数据库框架:
二、Google的Room组件框架(参考官网学习地址:学习Room):
1、AndroidStudio的gradle依赖:
//在 defaultConfig下配置该属性,那么创建的数据库的信息会在src的同目录下创建schemas文件夹
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
//=====================================================================
implementation "android.arch.persistence.room:runtime:1.0.0"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0"
2、实体类构造:
package com.zbv.newdesttop.Entities;
import android.arch.persistence.room.ColumnInfo;
import android.arch.persistence.room.Entity;
import android.arch.persistence.room.PrimaryKey;
/**
* author: qzx
* Date: 2019/3/1 13:52
*/
@Entity
public class Person {
@PrimaryKey(autoGenerate = true)
public int id;
@ColumnInfo(name = "first_name")
public String firstName;
@ColumnInfo(name = "last_name")
public String lastName;
}
3、集成RoomDatabase的数据库:
package com.zbv.newdesttop.roomdao;
import android.arch.persistence.room.Database;
import android.arch.persistence.room.RoomDatabase;
import com.zbv.newdesttop.Entities.Person;
/**
* author: qzx
* Date: 2019/3/1 14:12
*/
@Database(entities = {Person.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
//要采取单例模式,因为每次创建会代价昂贵
public abstract PersonDao personDao();
}
4、Dao的操作类:
package com.zbv.newdesttop.roomdao;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Delete;
import android.arch.persistence.room.Insert;
import android.arch.per