greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases.

Related tags

ORM greenDAO
Overview

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:

  • Rock solid: greenDAO has been around since 2011 and is used by countless famous apps
  • Super simple: concise and straight-forward API, in V3 with annotations
  • Small: The library is <150K and it's just plain Java jar (no CPU dependent native parts)
  • Fast: Probably the fastest ORM for Android, driven by intelligent code generation
  • Safe and expressive query API: QueryBuilder uses property constants to avoid typos
  • Powerful joins: query across entities and even chain joins for complex relations
  • Flexible property types: use custom classes or enums to represent data in your entity
  • Encryption: supports SQLCipher encrypted databases

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:3.5.3'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0' // 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.**

Homepage, Documentation, Links

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.

Comments
  • Avoid EncryptedHelper ART warning due to missing SQLCipher super class

    Avoid EncryptedHelper ART warning due to missing SQLCipher super class

    Today I've updated to version 3.1.1

    When I launch the app, I make a request and pass the data to db. Since the new update I watch this warning, is it normal? Excuse for my english

    
    Rejecting re-init on previously-failed class java.lang.Class org.greenrobot.greendao.database.DatabaseOpenHelper$EncryptedHelper
    Rejecting re-init on previously-failed class java.lang.Class org.greenrobot.greendao.database.DatabaseOpenHelper$EncryptedHelper
    Rejecting re-init on previously-failed class java.lang.Class org.greenrobot.greendao.database.DatabaseOpenHelper$EncryptedHelper
    Rejecting re-init on previously-failed class java.lang.Class org.greenrobot.greendao.database.DatabaseOpenHelper$EncryptedHelper
    Rejecting re-init on previously-failed class java.lang.Class org.greenrobot.greendao.database.DatabaseOpenHelper$EncryptedHelper
    Rejecting re-init on previously-failed class java.lang.Class org.greenrobot.greendao.database.DatabaseOpenHelper$EncryptedHelper
    
    Bug Confirmed 
    opened by brian2694 48
  • Generated files like DaoMaster can not be referenced

    Generated files like DaoMaster can not be referenced

    I cannot import greenDAO 3 in my code for some reason. I have included it in my build.gradle and used gradle sync, but still it doesn't work.

    I used the code from the example project.

    import android.app.Application;
    
    import org.greenrobot.greendao.database.Database;
    
    public class App extends Application {
        /** A flag to show how easily you can switch from standard SQLite to the encrypted SQLCipher. */
        public static final boolean ENCRYPTED = true;
    
        private DaoSession daoSession;
    
        @Override
        public void onCreate() {
            super.onCreate();
    
            DevOpenHelper helper = new DevOpenHelper(this, ENCRYPTED ? "notes-db-encrypted" : "notes-db");
            Database db = ENCRYPTED ? helper.getEncryptedWritableDb("super-secret") : helper.getWritableDb();
            daoSession = new DaoMaster(db).newSession();
        }
    
        public DaoSession getDaoSession() {
            return daoSession;
        }
    }
    
    

    build.gradle file

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
        }
    }
    
    apply plugin: 'com.android.application'
    apply plugin: 'org.greenrobot.greendao'
    
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.3"
    
        defaultConfig {
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        sourceSets {
            main {
                java.srcDirs = ['src/main/java','src-gem']
            }
        }
    }
    
    
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.3.0'
        compile 'com.android.support:design:23.3.0'
        compile 'com.android.volley:volley:1.0.0'
        compile 'com.google.code.gson:gson:2.7'
        compile 'org.greenrobot:greendao:3.0.1'
    
    }
    
    uploadArchives.enabled = false
    
    
    Bug Confirmed 
    opened by bongtavas 48
  • Failure on init Dao config on Samsung Devices with Android 5.0

    Failure on init Dao config on Samsung Devices with Android 5.0

    Hi,

    i see a failure in the wild on Samsung devices with Android version 5.0.

    java.lang.RuntimeException: Unable to create application de.komoot.android.KomootApplication: de.greenrobot.dao.DaoException: Could not init DAOConfig
           at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5118)
           at android.app.ActivityThread.access$1600(ActivityThread.java:177)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509)
           at android.os.Handler.dispatchMessage(Handler.java:102)
           at android.os.Looper.loop(Looper.java:145)
           at android.app.ActivityThread.main(ActivityThread.java:5944)
           at java.lang.reflect.Method.invoke(Method.java)
           at java.lang.reflect.Method.invoke(Method.java:372)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
    Caused by: de.greenrobot.dao.DaoException: Could not init DAOConfig
           at de.greenrobot.dao.internal.DaoConfig.(SourceFile:94)
           at de.greenrobot.dao.AbstractDaoMaster.registerDaoClass(SourceFile:44)
           at de.komoot.android.db.DaoMaster.(SourceFile:74)
           at de.komoot.android.KomootApplication.onCreate(SourceFile:202)
           at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1020)
           at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5115)
           at android.app.ActivityThread.access$1600(ActivityThread.java:177)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509)
           at android.os.Handler.dispatchMessage(Handler.java:102)
           at android.os.Looper.loop(Looper.java:145)
           at android.app.ActivityThread.main(ActivityThread.java:5944)
           at java.lang.reflect.Method.invoke(Method.java)
           at java.lang.reflect.Method.invoke(Method.java:372)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
    Caused by: java.lang.NoSuchFieldException: TABLENAME
           at java.lang.Class.getField(Class.java:1104)
           at de.greenrobot.dao.internal.DaoConfig.(SourceFile:56)
           at de.greenrobot.dao.AbstractDaoMaster.registerDaoClass(SourceFile:44)
           at de.komoot.android.db.DaoMaster.(SourceFile:74)
           at de.komoot.android.KomootApplication.onCreate(SourceFile:202)
           at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1020)
           at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5115)
           at android.app.ActivityThread.access$1600(ActivityThread.java:177)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509)
           at android.os.Handler.dispatchMessage(Handler.java:102)
           at android.os.Looper.loop(Looper.java:145)
           at android.app.ActivityThread.main(ActivityThread.java:5944)
           at java.lang.reflect.Method.invoke(Method.java)
           at java.lang.reflect.Method.invoke(Method.java:372)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
    

    See http://crashes.to/s/3f8a267ec62

    I don't have any samsung device with Android 5.0(.1) so i cant test it. But as you can see in my crashlytics report it happens quite often.

    Thx for the great greenDAO Best

    Arne

    Stack Overflow 
    opened by ArneKoeckeritz 45
  • Greendao not compatible with okBuck

    Greendao not compatible with okBuck

    I am trying to migrate my app to use okBuck and I hit a wall. The greenDAO gradle plugin appears not to be run by okBuck.

    It would be nice if you fix https://github.com/greenrobot/greenDAO/issues/412 so we can help out.

    opened by Macarse 34
  • build failed after update Android Studio

    build failed after update Android Studio

    error message : org.eclipse.jdt.internal.compiler.impl.CompilerOptions.versionToJdkLevel(Ljava/lang/Object;)J Android Studio Version : 2.3.0 Gradle Version : 3.3 Gradle Plugin Version : 2.3.0 GreenDAO Version : 3.2.0

    opened by lazytes 32
  • NoSuchMethodError: CompilerOptions.versionToJdkLevel with Android Gradle Plugin 2.3.0-alpha1

    NoSuchMethodError: CompilerOptions.versionToJdkLevel with Android Gradle Plugin 2.3.0-alpha1

    Hello. I have a problem with migration to greendao3. I follow guide http://greenrobot.org/greendao/documentation/updating-to-greendao-3-and-annotations/

    New classes generated successfully. Gradle greendao plugin added and applied. But while compiling, i get error:

    Caused by: java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.impl.CompilerOptions.versionToJdkLevel(Ljava/lang/Object;)J
            at org.eclipse.jdt.core.dom.ASTConverter.<init>(ASTConverter.java:91)
            at org.eclipse.jdt.core.dom.CompilationUnitResolver.convert(CompilationUnitResolver.java:285)
            at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1216)
            at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:812)
            at org.greenrobot.greendao.codemodifier.EntityClassParser.parse(EntityClassParser.kt:25)
    

    I tried clean project, remove .gradle dir, nothing helps. Full stacktrace: http://pastebin.com/shPg8Wi7

    Android studio 2.3. Gradle: com.android.tools.build:gradle:2.3.0-alpha1. Greendao 3.2.0.

    What can be wrong? Thanks :)

    opened by Quarx2k 25
  • Rx support

    Rx support

    While pragmatic programmers often do database operations on the main thread, some prefer strictly asynchronous operations. While greenDAO offers the latter, we should also have direct Rx support in the Android API.

    Let's brainstorm on this:

    • Query could return an observable
    • Functions like loadAll could also be Rxified. Naming? loadAllRx? -> RxDao class
    • For update/delete/insert operations we could provide an observable transaction
    • Dependency should be compile-only, so Rx is completely optional

    Future work (post V3.1):

    • Notifications and updatable observables
    Enhancement 
    opened by greenrobot 25
  • Use new Android Gradle Plugin 3.3+ APIs: WARNING: API 'variant.getJavaCompiler()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'

    Use new Android Gradle Plugin 3.3+ APIs: WARNING: API 'variant.getJavaCompiler()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'

    Edit: see workaround below.


    when i compile the version with 'org.greenrobot:greendao-gradle-plugin:3.2.2' ,i get an error : WARNING: API 'variant.getJavaCompiler()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance. To determine what is calling variant.getJavaCompiler(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace. Affected Modules: app

    and i try execute a command,gradlew -Pandroid.debug.obsoleteApi=true, i get : `>gradlew -Pandroid.debug.obsoleteApi=true

    Configure project :app WARNING: API 'variant.getJavaCompiler()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance. REASON: It is currently called from the following trace: java.lang.Thread.getStackTrace(Thread.java:1552) com.android.build.gradle.internal.errors.DeprecationReporterImpl.reportDeprecatedApi(DeprecationReporterImpl.kt:79) com.android.build.gradle.internal.api.BaseVariantImpl.getJavaCompiler(BaseVariantImpl.java:447) com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated.getJavaCompiler(null:-1) org.greenrobot.greendao.gradle.AndroidPluginSourceProvider.addGeneratorTask(SourceProvider.kt:62) org.greenrobot.greendao.gradle.AndroidPluginSourceProvider$addGeneratorTask$1.execute(SourceProvider.kt:46) org.greenrobot.greendao.gradle.AndroidPluginSourceProvider$addGeneratorTask$1.execute(SourceProvider.kt:27) org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:158) org.greenrobot.greendao.gradle.AndroidPluginSourceProvider.addGeneratorTask(SourceProvider.kt:45) org.greenrobot.greendao.gradle.Greendao3GradlePlugin$apply$1.execute(Greendao3GradlePlugin.kt:50) org.greenrobot.greendao.gradle.Greendao3GradlePlugin$apply$1.execute(Greendao3GradlePlugin.kt:14) org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1$1.run(DefaultListenerBuildOperationDecorator.java:155) ... ... java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) java.lang.Thread.run(Thread.java:745)

    WARNING: Debugging obsolete API calls can take time during configuration. It's recommended to not keep it on at all times.`

    Although this problem will break out in 2020, I hope to solve it in the next version as soon as possible.

    Bug Confirmed 
    opened by sjindong 23
  • SQLiteDatabaseLockedException: database is locked (code 5)

    SQLiteDatabaseLockedException: database is locked (code 5)

    Some of my users are facing SQLiteDatabaseLockedException.

    I am using this code in my application class onCreate method to setup database:

    private void setupDatabase() {
            DbUpdateHelper helper = new DbUpdateHelper(this, "app-name-db", null);
            SQLiteDatabase db = helper.getWritableDatabase();
            DaoMaster daoMaster = new DaoMaster(db);
            daoSession = daoMaster.newSession();
        }
    

    This is the only place where I am accessing the db using helper.getWritableDatabase().

    Everywhere else I am using the daoSession object to access db.

    Stacktrace:

    java.lang.RuntimeException: Unable to create application o.ᴛ: android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5): , while compiling: PRAGMA journal_mode
           at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4608)
           at android.app.ActivityThread.access$1500(ActivityThread.java:148)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
           at android.os.Handler.dispatchMessage(Handler.java:102)
           at android.os.Looper.loop(Looper.java:135)
           at android.app.ActivityThread.main(ActivityThread.java:5312)
           at java.lang.reflect.Method.invoke(Method.java)
           at java.lang.reflect.Method.invoke(Method.java:372)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
    Caused by: android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5): , while compiling: PRAGMA journal_mode
           at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java)
           at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
           at android.database.sqlite.SQLiteConnection.executeForString(SQLiteConnection.java:634)
           at android.database.sqlite.SQLiteConnection.setJournalMode(SQLiteConnection.java:320)
           at android.database.sqlite.SQLiteConnection.setWalModeFromConfiguration(SQLiteConnection.java:294)
           at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:215)
           at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
           at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
           at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
           at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
           at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:806)
           at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:791)
           at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
           at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1276)
           at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:267)
           at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:223)
           at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
           at o.ᴛ.onCreate(SourceFile:1032)
           at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1034)
           at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4605)
           at android.app.ActivityThread.access$1500(ActivityThread.java:148)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
           at android.os.Handler.dispatchMessage(Handler.java:102)
           at android.os.Looper.loop(Looper.java:135)
           at android.app.ActivityThread.main(ActivityThread.java:5312)
           at java.lang.reflect.Method.invoke(Method.java)
           at java.lang.reflect.Method.invoke(Method.java:372)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
    
    Stack Overflow 
    opened by KushGoyal 22
  • Gradle plugin does not support Gradle 6.0

    Gradle plugin does not support Gradle 6.0

    Caused by: java.lang.NoSuchMethodError: org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;
            at org.greenrobot.greendao.gradle.Greendao3GradlePlugin.createGreendaoTask(Greendao3GradlePlugin.kt:60)
            at org.greenrobot.greendao.gradle.Greendao3GradlePlugin.access$createGreendaoTask(Greendao3GradlePlugin.kt:14)
            at org.greenrobot.greendao.gradle.Greendao3GradlePlugin$apply$1.execute(Greendao3GradlePlugin.kt:47)
            at org.greenrobot.greendao.gradle.Greendao3GradlePlugin$apply$1.execute(Greendao3GradlePlugin.kt:14)
            at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1.lambda$run$0(DefaultListenerBuildOperationDecorator.java:152)
            at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.reapply(DefaultUserCodeApplicationContext.java:60)
            at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1.run(DefaultListenerBuildOperationDecorator.java:152)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
    
    
    Bug 
    opened by hjywyj 21
  • Crash on checkThread()

    Crash on checkThread()

    After some investigation of a crash we are seeing in our app, we would like to share some information.

    The stacktrace is the following:

    de.greenrobot.dao.DaoException: Method may be called only in owner thread, use forCurrentThread to get an instance for this thread at de.greenrobot.dao.query.AbstractQuery.checkThread(SourceFile:80) at de.greenrobot.dao.query.AbstractQuery.setParameter(SourceFile:70) at de.greenrobot.dao.query.AbstractQueryWithLimit.setParameter(SourceFile:48) at de.greenrobot.dao.query.Query.setParameter(SourceFile:30) setParameter setParameter

    This is happening mostly on RIM devices. AbstractQueryData's forCurrentThread() is using Process.myTid() and this method might return 0. There was an attempt to fix this problem in https://github.com/greenrobot/greenDAO/issues/171 and the ticket was closed saying it was fixed with https://github.com/greenrobot/greenDAO/commit/013af9c4c4ee76af304b3b35f50588a7e6d68f63

    While that fix might have worked for Robolectric, the issue mentioned by @dcowley is real and it is still there.

    Can this be revised?

    More info required 
    opened by Macarse 20
  • kotlin version problem

    kotlin version problem

    Kotlin does not support 1.7.0. Error during compilation.

    greendao com.sun.tools.javac.processing.AnnotationProcessingError: java.lang.IllegalStateException: Unsupported metadata version. Check that your Kotlin version is >= 1.0

    opened by batuhanoymak 1
  • Read this first! Check out our new database

    Read this first! Check out our new database

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

    This is where we will put all of our effort going forward.

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

    If you are looking for an object-mapping library based on SQLite you might want to check out the Android Jetpack Room library.

    opened by greenrobot-team 0
  • incompatible gradle-6.5-bin.zip

    incompatible gradle-6.5-bin.zip

    Unable to find method 'org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;' org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;

    Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

    Re-download dependencies and sync project (requires network) The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.

    Stop Gradle build processes (requires restart) Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

    In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

    opened by mengzhaoyi0216 1
  • could you tell me why

    could you tell me why "DaoMaster onCreate" method "createAllTables(db, false);" "ifNotExists" this params default value is false

    it report a error when monkey test , "table "HISTORY_RECORDS" already exists" so i want to change this value to true, but i do not know what will happened

    opened by Mr-Luowan 0
  • Improve GRADLE build Performance

    Improve GRADLE build Performance

    Parallel builds. This project contains multiple modules. Parallel builds can improve the build speed by executing tasks in parallel. We can enable this feature by setting org.gradle.parallel=true.

    Configuration on demand. Configuration on demand tells Gradle to configure modules that only are relevant to the requested tasks instead of configuring all of them. We can enable this feature by setting org.gradle.configureondemand=true.

    gradle caching. Shared caches can reduce the number of tasks you need to execute by reusing outputs already generated elsewhere. This can significantly decrease build times. We can enable this feature by setting org.gradle.caching=true.

    ===================== If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

    opened by i-Taozi 0
Releases(V3.3.0)
Owner
Markus Junginger
CTO and co-founder at objectbox.io, creator of EventBus and greenDAO.
Markus Junginger
Storm - a fast, easy to use, no-bullshit opinionated Java ORM inspired by Doctrine

A stupidly simple Java/MySQL ORM with native Hikaricp and Redis cache support supporting MariaDB and Sqlite

Mats 18 Dec 1, 2022
ObjectiveSQL is an ORM framework in Java based on ActiveRecord pattern

ObjectiveSQL is an ORM framework in Java based on ActiveRecord pattern, which encourages rapid development and clean, codes with the least, and convention over configuration.

Braisdom 1.2k Dec 28, 2022
Ebean ORM

Ebean ORM

Ebean ORM 1.3k Jan 5, 2023
ORM16 is a library exploring code generation-based approach to ORM for Java 17 and focusing on records as persistent data model

About ORM16 ORM16 is a library exploring code generation-based approach to ORM for Java 17 and focusing on records as persistent data model. Example I

Ivan Gammel 1 Mar 30, 2022
Light Chinese Bible is a Mobile app created by Android and SQLite.

About Light Chinese Bible Light Chinese Bible is a Mobile app created by Android and SQLite. It allows you to read the bible on your phone or devices

Pankun (Dennis) Lin 1 Feb 10, 2022
A fast, light and cloud native OAuth 2.0 authorization microservices based on light-4j

A fast, light weight and cloud native OAuth 2.0 Server based on microservices architecture built on top of light-4j and light-rest-4j frameworks. Stac

null 291 Dec 17, 2022
🐀 Simple, Fast and easy to implement ORM for most popular databases

RatORM Simple, Fast and easy to implement ORM for most popular databases Status: Branch Tests Code Quality master Usefull links Helpful links: GitHub

Szczurowsky 3 Dec 25, 2022
A simple-to-use storage ORM supporting several databases for Java.

Storage Handler This is a library based off of my old storage handler within my queue revamp. It's for easy storage handling for multiple platforms. N

NV6 7 Jun 22, 2022
Fast and Easy mapping from database and csv to POJO. A java micro ORM, lightweight alternative to iBatis and Hibernate. Fast Csv Parser and Csv Mapper

Simple Flat Mapper Release Notes Getting Started Docs Building it The build is using Maven. git clone https://github.com/arnaudroger/SimpleFlatMapper.

Arnaud Roger 418 Dec 17, 2022
Castled is an open source reverse ETL solution that helps you to periodically sync the data in your warehouses and databases to sales, marketing, support or custom apps without any help from engineering teams

Open source reverse-ETL platform to operationalize your data warehouse Introduction Castled is a Reverse ETL solution which enables you to make the va

Castled 314 May 2, 2022
Share food-Android- - Food donation coded in native android with firebase, google maps api and php server xampp

share_food-Android- Instructions: 1. Create a firebase account and link it with the project via google-services.json. 2. This project also uses a XAMP

Abubakar 3 Dec 28, 2021
sql2o is a small library, which makes it easy to convert the result of your sql-statements into objects. No resultset hacking required. Kind of like an orm, but without the sql-generation capabilities. Supports named parameters.

sql2o Sql2o is a small java library, with the purpose of making database interaction easy. When fetching data from the database, the ResultSet will au

Lars Aaberg 1.1k Dec 28, 2022
Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included

Read full documentation at http://immutables.org // Define abstract value type using interface, abstract class or annotation @Value.Immutable public i

Immutables 3.2k Dec 31, 2022
MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.

MapDB: database engine MapDB combines embedded database engine and Java collections. It is free under Apache 2 license. MapDB is flexible and can be u

Jan Kotek 4.6k Dec 30, 2022
MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.

MapDB: database engine MapDB combines embedded database engine and Java collections. It is free under Apache 2 license. MapDB is flexible and can be u

Jan Kotek 4.6k Jan 1, 2023
Manage Nextcloud Maps Geobookmarks on your Android phone

Nextcloud Maps Geobookmarks Android app Android app to show your Nextcloud Maps geobookmarks list. Geobookmarks can be opened in all apps supporting g

Daniele Verducci 24 Oct 20, 2022
Storm - a fast, easy to use, no-bullshit opinionated Java ORM inspired by Doctrine

A stupidly simple Java/MySQL ORM with native Hikaricp and Redis cache support supporting MariaDB and Sqlite

Mats 18 Dec 1, 2022
Android Auto Apps Downloader (AAAD) is an app for Android Phones that downloads popular Android Auto 3rd party apps and installs them in the correct way to have them in Android Auto.

Android Auto Apps Downloader (AAAD) is an app for Android Phones that downloads popular Android Auto 3rd party apps and installs them in the correct way to have them in Android Auto.

Gabriele Rizzo 865 Jan 2, 2023