//在项目的build.gradle中添加
dependencies {
...
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
}
//在APP的build.gradle中添加
dependencies {
...
...
implementation 'org.greenrobot:greendao:3.2.0'//依赖
}
//添加
greendao {
schemaVersion 1 //版本
daoPackage 'com.bwie.xiongjinmeng.greendao' // 一般为app包名+生成文件的文件夹名自己建文件
targetGenDir 'src/main/java' //生成文件路径
}
在apply plugin: 'com.android.application'的下面添加
apply plugin: 'org.greenrobot.greendao'
创建一个实体类
@Entity//标识
public class Shop {
@Id(autoincrement = true)//自增
private long id;//不能是int
private String content;
private String createTime;
private String imgUrls;
private String nickname;
}
//添加完 ctrl+F9或者点击锤子
//会自动在创建的文件夹中添加三个类
//在Application中初始化
public class App extends Application {
public static DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
setDatabase();
}
private void setDatabase() {
//第一步创建OpenHelper类
DaoMaster.DevOpenHelper openHelper = new DaoMaster.DevOpenHelper(this, "datalist.db");
//开启一个可写数据库类
SQLiteDatabase writableDatabase = openHelper.getWritableDatabase();
//通过DaoMaster封装
DaoMaster master = new DaoMaster(writableDatabase);
daoSession = master.newSession();
}
public static DaoSession getDaoSession(){
return daoSession;
}
}
//简单的添加查询
private QSLitertyDao dao;
dao = App.getDaoSession().getQSLitertyDao();
//插入数据
private void insertStu() {
QSLiterty literty = new QSLiterty(null,"张三","中间");
long insert = dao.insert(literty);
if (insert>0){
Toast.makeText(this, "成功", Toast.LENGTH_SHORT).show();
}
}
//删除数据
private void deleteStu() {
dao.deleteByKey(1l);
Toast.makeText(this, "成功", Toast.LENGTH_SHORT).show();
}
//修改数据
private void updateStu() {
QSLiterty load = dao.load(1l);
if (load!=null){
load.setName("李四");
load.setSex("女");
dao.update(load);
}
}
//查询数据
private void selectStu() {
textName.setText("");
List<QSLiterty> qsLiterties = dao.loadAll();
textName.setText(qsLiterties.toString());
}
//或者
public class ShopDao {
public static void insertShop(Shop shop) {
App.getDaoInstant().getShopDao().insertOrReplace(shop);
}
public static List<Shop> queryAll() {
return App.getDaoInstant().getShopDao().loadAll();
}
}
//使用添加
private Shop shop;
for (int j = 0; j < list.size(); j++) {
shop = new Shop();
shop.setContent(list.get(j).getContent());
shop.setCreateTime(list.get(j).getCreateTime());
shop.setNickname(list.get(j).getUser().getNickname());
shop.setImgUrls(list.get(j).getImgUrls());
}
ShopDao.insert(shop);
android4.4以下版本中报错
java.lang.NoClassDefFoundError: org.greenrobot.greendao.database.StandardDatabase
添加依赖
implementation 'org.robolectric:multidex:3.4.2'
初始化时加
MultiDex.install(this);