Skip to content
ORMDroid is a simple ORM persistence framework for your Android applications.
Branch: master
Clone or download
roscopeco Merge pull request #44 from jitpack-io/master
Added android-maven plugin. Many thanks!
Latest commit b479c55 May 20, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings Updated layout for Github Dec 18, 2012
res Update ignorance Dec 18, 2012
.gitignore Fix issue #2 Dec 19, 2012
.project Updated layout for Github Dec 18, 2012
AndroidManifest.xml Updated layout for Github Dec 18, 2012
LICENSE Updated layout for Github Dec 18, 2012 Update ReadMe for Documentation Jul 18, 2014
build.gradle Update build.gradle May 5, 2015
gradlew Added Gradle support Dec 2, 2013
gradlew.bat Added Gradle support Dec 2, 2013
proguard-project.txt Updated layout for Github Dec 18, 2012

ORMDroid is a simple ORM persistence framework for your Android applications, providing an easy to use, almost-zero-config way to handle model persistence without ever having to deal with Android's built-in database interfaces.

ORMDroid is:

  • Small - ~20k, target of no more than 30k.
  • Simple - No excessive features or support for platforms other than Android.
  • Flexible - Allowing you to configure what you need to, but at the same time...
  • Automatic - ... sensible defaults for everything.

ORMDroid works with Android API 8 and up.

ORMDroid is available under the Apache license 2.0. Copyright (c)2012-2013 Ross Bamford & Contributors.

Getting ORMDroid

You can either download ORMDroid from the download page, or check out of Git.

If downloading a packaged release, you'll need to unzip the file somewhere, and then import the project into your Eclipse.

Getting started

To use ORMDroid, you need to set up ORMDroid as a required library in your android app. If you're using Eclipse, go to project->properties->android and add ORMDroid as a required libray. Now, you just need to add a single XML tag to your AndroidManifest.xml as a child of the Application tag:

  android:value="your_database_name" />


And initialize the framework somewhere (e.g. Application.onCreate, or even in your activity's onCreate since there's no penalty for calling initialize multiple times):


Then you create your model:

public class Person extends Entity {
  public int id;
  public String name;
  public String telephone;

And work with it as you see fit!

Person p = Entity.query(Person.class).where("id=1").execute();
p.telephone = "555-1234";;

There is also an object-oriented query API:

import static com.roscopeco.ormdroid.Query.eql;

// ... later

Person person = Entity.query(Person.class).where(eql("id", id)).execute();
p.telephone = "555-1234";;

That's it! If you want more customization over e.g. table names, column names, etc, take a look at the Table and Column annotations.

There is a more detailed version of these instructions in this blog entry

Update: There is now a very simple sample app available for ORMDroid. You can get it from Git:

git clone

For more information, check out this blog entry.

Get in touch!

If you have questions, suggestions or just want to talk (about ORMDroid), get in touch via the Google Group.

You can’t perform that action at this time.