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: http://greenrobot.org/greendao/
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 by checking here and here
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:2.3.0'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1' <-- add plugin
}
}
// In your app projects build.gradle file:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' <-- apply plugin
dependencies {
compile 'org.greenrobot:greendao:3.2.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.
Homepage, Documentation, Links
For more details on greenDAO please check greenDAO's website. Here are some direct links you may find useful:
More Open Source by greenrobot
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.
Follow us on Google+ to stay up to date.