greenDAO README

The project's README from github.com/greenrobot/greenDAO. As one markdown file: README.md.

⚠️ This project is not longer actively maintained. If you are looking for an easy to use and efficient database solution, please:

Check out ObjectBox

Check out our new mobile database ObjectBox (GitHub repo).

ObjectBox is a superfast object-oriented database with strong relation support. ObjectBox is embedded into your Android, Linux, macOS, or Windows app.

greenDAO

greenDAO is a light & fast ORM for Android that maps objects to SQLite databases. Being highly optimized for Android, greenDAO offers great performance and consumes minimal memory.

Home page, documentation, and support links: https://greenrobot.org/greendao/

Build Status Follow greenrobot on Twitter

Features

greenDAO's unique set of features:

Add greenDAO to your project

greenDAO is available on Maven Central. Please ensure that you are using the latest versions of the greendao and greendao-gradle-plugin artifact.

Add the following Gradle configuration to your Android project. In your root build.gradle file:

buildscript {
    repositories {
        jcenter()
        mavenCentral() // add repository
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:<agp-version>'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.3.1' // add plugin
    }
}

In your app modules app/build.gradle file:

apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // apply plugin
 
dependencies {
    implementation 'org.greenrobot:greendao:3.3.0' // add library
}

Note that this hooks up the greenDAO Gradle plugin to your build process. When you build your project, it generates classes like DaoMaster, DaoSession and DAOs.

Continue at the Getting Started page.

R8, ProGuard

If your project uses R8 or ProGuard add the following rules:

-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties { *; }

# If you DO use SQLCipher:
-keep class org.greenrobot.greendao.database.SqlCipherEncryptedHelper { *; }

# If you do NOT use SQLCipher:
-dontwarn net.sqlcipher.database.**
# If you do NOT use RxJava:
-dontwarn rx.**

For more details on greenDAO please check greenDAO's website. Here are some direct links you may find useful:

Features

Getting Started

Documentation

Changelog

Technical FAQ

Non-Technical FAQ

Migrating to greenDAO 3

More Open Source by greenrobot

ObjectBox is a new superfast object-oriented database for mobile.

EventBus is a central publish/subscribe bus for Android with optional delivery threads, priorities, and sticky events. A great tool to decouple components (e.g. Activities, Fragments, logic components) from each other.

Essentials is a set of utility classes and hash functions for Android & Java projects.

greenDAO (greenrobot/greenDAO)

Searching Database…

12.6K ·GitHub
Что это такое?greenDAO — это легковесная ORM, которая сопоставляет Java-объекты с базами данных SQLite на Android и генерирует DAO-классы во время сборки, так что писать SQL вручную не нужно.
Это отдельное приложение или то, что добавляется в мой Android-проект?Это библиотека и Gradle-плагин: вы добавляете артефакты greendao и greendao-gradle-plugin в свой Android-проект, и во время сборки они генерируют классы DaoMaster, DaoSession и DAO.
Как добавить это в проект?greenDAO доступен в Maven Central: добавьте зависимости greendao и greendao-gradle-plugin в корневой build.gradle и в build.gradle модуля приложения, а затем соберите проект, чтобы сгенерировать DAO-классы.
Нужно ли что-то помимо стандартных инструментов Android/Gradle?Нужен только обычный Android-проект с Gradle; нативные зависимости не требуются, так как библиотека написана на чистой Java (при этом поддерживается необязательный SQLCipher для шифрования).
Проект всё ещё активно поддерживается?Нет — проект больше не поддерживается активно; команда greenrobot теперь рекомендует ObjectBox как поддерживаемую альтернативу.
Можно ли зашифровать мою базу данных?Да, greenDAO поддерживает зашифрованные базы SQLite через SQLCipher для приложений, которым нужно шифрование.
Чем API запросов greenDAO отличается от SQL-строк?В QueryBuilder используются константы свойств вместо строк с именами столбцов, поэтому запросы типобезопасны и помогают избежать опечаток.
Умеет ли greenDAO работать со сложными связями между сущностями?Да, поддерживаются мощные соединения (join) между сущностями, в том числе цепочки из нескольких join для сложных связей.
Нужны ли особые правила ProGuard/R8?Да, если в проекте используется R8 или ProGuard, нужно добавить специальные правила keep для greenDAO; они описаны в README.
Creator
greenrobot
Size
7.2 MB
Stars
12.6K
Age
14y
Commits · 90 Days