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:
<meta-data
android:name="ormdroid.database.name"
android:value="your_database_name" />
<meta-data
android:name="ormdroid.database.visibility"
android:value="PRIVATE||WORLD_READABLE||WORLD_WRITEABLE" />
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):
ORMDroidApplication.initialize(someContext);
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";
p.save();
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";
p.save();
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 https://github.com/roscopeco/ormdroid-example.git
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.