A robust, powerful, and very simple ORM android database library with annotation processing.
The library is built on speed, performance, and approachability. It not only eliminates most boiler-plate code for dealing with databases, but also provides a powerful and simple API to manage interactions.
Let DBFlow make SQL code flow like a steady stream so you can focus on writing amazing apps.
What sets this library apart:
- Many, many unit tests on nearly every feature.
- Built on maximum performance using annotation processing, lazy-loading, and speed-tests here
- Built-in model caching for blazing fast retrieval and ability to define own cache.
- Powerful and fluid SQL-wrapping statements
- Triggers, Views, Indexes, and many more SQLite features.
- Seamless multi-database support.
- Direct-to-database parsing for data such as JSON
- Flexibility in the API enabling you to override functionality to suit your needs.
ContentProvider
generation using annotations
If you wish to have your application featured here, please file an issue.
- Anonymous 1: An application that has over 1.5 million active installs
- Anonymous 2: An application that will have over 1 million active installs
- University of Oslo DHIS2 Android SDK
- Massive, massive changes to the library.
- For all changes, check out the migration guide here
for older changes, from other xx.xx versions, check it out here
For more detailed usage, check out these sections:
Tables and Database Properties
SQL Statements Using the Wrapper Classes
Listed here are tutorial screen casts for DBFlow. If more are created, they may go into the usage docs.
- DFlow-Installing by @tsuharesu
Add the maven repo url to your root build.gradle in the allProjects{}
blocks:
...
allProjects {
repositories {
maven { url "https://raw.github.com/Raizlabs/maven-releases/master/releases" }
}
}
Add the library to the project-level build.gradle, using the apt plugin to enable Annotation Processing:
apply plugin: 'com.neenbedankt.android-apt'
dependencies {
apt 'com.raizlabs.android:DBFlow-Compiler:2.0.0'
compile "com.raizlabs.android:DBFlow-Core:2.0.0"
compile "com.raizlabs.android:DBFlow:2.0.0"
}
For GSON
and RetroFit
compatibility check out #121.
Due to this library using a custom maven repo, to speed up build times when using this library,
you should run in --offline
mode except for when updating dependencies. To enable
this setting in Android Studio, ensure the option is checked in:
Preferences->Build,Executor,Deployment->Build Tools->Gradle->Offline Work
I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request. Here are some basic rules to follow to ensure timely addition of your request:
- Match coding style (braces, spacing, etc.) This is best achieved using CMD+Option+L (Reformat code) on Mac (not sure for Windows) with Android Studio defaults.
- If its a feature, bugfix, or anything please only change code to what you specify. DO NOT do this: Ex: Title "Fixes Crash Related to Bug" includes other files that were changed without explanation or doesn't relate to the bug you fixed. Or another example is a non-descriptive title "Fixes Stuff".
- Pull requests must be made against
develop
branch. - Have fun!