/sugar

Insanely easy way to work with Android Database.

Primary LanguageJavaMIT LicenseMIT

Sugar ORM Build Status

Insanely easy way to work with Android databases.

Official documentation can be found here. The example application is provided in the example folder in the source.

Features

Sugar ORM was built in contrast to other ORM's to have:

  • A simple, concise, and clean integration process with minimal configuration.
  • Automatic table and column naming through reflection.
  • Support for migrations between different schema versions.

Installing

There are four ways to install Sugar:

As a Gradle dependency

This is the preferred way. Simply add:

compile 'com.github.satyan:sugar:1.3'

to your project dependencies and run gradle build or gradle assemble.

As a Maven dependency

Declare the dependency in Maven:

<dependency>
    <groupId>com.github.satyan</groupId>
    <artifactId>sugar</artifactId>
    <version>1.3</version>
</dependency>

As a library project

Download the source code and import it as a library project in Eclipse. The project is available in the folder library. For more information on how to do this, read here.

Use a jar

Visit the releases page to download jars directly. You can drop them into your libs folder and configure the Java build path to include the library. See this tutorial for an excellent guide on how to do this.

===================

After installing, check out how to set up your first database and models here.

Contributing

Please fork this repository and contribute back using pull requests. Features can be requested using issues. All code, comments, and critiques are greatly appreciated.

Changelog

v1.3 [jar]

  • Transaction Support
  • Bulk Insert of records
  • Encrypted datastore (branch : sugar-cipher using sqlcipher)
  • Removed Constructor with context parameter. Needs default constructor now.
  • Enhancements to QueryBuilder
  • Bug fixes and other improvements.

v1.2 [jar]

  • package restriction for domain classes.
  • metadata caching
  • QueryBuilder v1
  • Database Migrations
  • Provision for Raw queries
  • Better and more organized api guide and usage instructions.

v1.1 [jar]

  • Static api doesn't take context anymore. Hence
Book.findById(context, Book.class, 1);

becomes

Book.findById(Book.class, 1);
  • Some cleanup in the code.