Android Studio gradle-8.4 配置 GreenDao

1.配置项目下的build

复制代码
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0")
        classpath ("org.greenrobot:greendao-gradle-plugin:3.3.1") // 使用最新版本
    }
}

2.配置app下的build

复制代码
id("org.jetbrains.kotlin.kapt")
id("org.greenrobot.greendao")
复制代码
kapt {
    arguments {
        arg("daoPackage", "你的ApplicatinId")
        arg("databaseName", "你的数据库名称-db")
        arg("targetGenDir", "/src/main/java")
        arg("schemaVersion", "1")
    }
}
复制代码
implementation("org.greenrobot:greendao:3.2.2")
kapt("org.greenrobot:greendao-generator:3.2.2")

3.初始化数据库

复制代码
class App : Application() {

    private var myOpenHelper: MyOpenHelper? = null
    private var db: SQLiteDatabase? = null
    private var mDaoMaster: DaoMaster? = null
    private var mDaoSession: DaoSession? = null

    override fun onCreate() {
        super.onCreate()
        setDatabase()
    }

    private fun setDatabase() {
        myOpenHelper = MyOpenHelper(this, "你的数据库名称-db", null)
        db = myOpenHelper!!.writableDatabase
        mDaoMaster = DaoMaster(db)
        mDaoSession = mDaoMaster!!.newSession()
    }

    fun getmDaoSession(): DaoSession? {
        mDaoSession = mDaoMaster!!.newSession()
        return mDaoSession
    }

    inner class MyOpenHelper(context: Context?, name: String?, factory: CursorFactory?) :
        DaoMaster.OpenHelper(context, name, factory)

}

4.实体类

复制代码
@Entity
public class TypeEntity {

    @Id(autoincrement = true)
    private Long id;
    private int color;
    private String type;
}

5.实例类写好之后锤子🔨锤一下就自动生成后续代码了 【快捷键忘了,如果有记得的同学,欢迎留言Thanks♪(・ω・)ノ 】。

相关推荐
Meteors.9 小时前
安卓源码阅读——01.grade设置binding为true时,xml如何进行映射
android·xml
_李小白10 小时前
【android opencv学习笔记】Day 26: 滤波算法之低通滤波与图像缩放插值
android·opencv·学习
NiceCloud喜云11 小时前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
我命由我1234514 小时前
Bugly - Bugly 基本使用( App 质量追踪平台)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
weiggle14 小时前
第二篇:搭建你的第一个 Compose 项目——开发环境与项目结构
android·前端
阿巴斯甜14 小时前
为什么 AIDL 接口客户端、服务端要写两份一模一样的?
android
weiggle15 小时前
第一篇:Jetpack Compose 宣言——为什么 Android 开发需要声明式 UI
android
天上路人16 小时前
AI 降噪不是“凭空复原语音”,而是在“已有语音信息”的基础上进行增强。
ide·人工智能·macos·语音识别·xcode
城管不管17 小时前
什么是Prompt?
android·java·数据库·语言模型·llm·prompt