Android Database Libraries

There are many ways to store data in Android. These libraries will help working with each of these types faster and more efficient.


ORM. ORM library is the easiest way to handle SQLite.

sqldelight. SQLDelight generates Java models from your SQL statements and helps manage them in an organized way.

android-database-sqlcipher. It is an Android SQLite API based on SQLCipher.

sprinkles. Sprinkles is a boiler-plate-reduction-library for dealing with Sqlite databases. It keeps SQLite doesz what it does better and reduces the hassle of mapping queries results into models.

android-sqlite-asset-helper. It is an Android helper class which manages database creation using an application’s raw asset files. This library is the easiest way to ship an pre-populated SQLite database in an Android app. It is faster than using an sql file to create database and insert hundreds of rows into its tables.

schematic. It automatically generates a ContentProvider backed by an SQLite database.

android-contentprovider-generator. A small tool to generate an Android ContentProvider. It takes a set of entity definitions as the input, and generates a ContentProvider class, a SQLiteOpenHelper class, a SQLiteOpenHelperCallbacks class, one Columns class per entity, one Cursor class per entity, one ContentValues class per entity, one Selection class per entity, one Model interface per entity.

EasyDatabase. This library is designed to create database using ContentProvider while reducing complexity in database table creation.

ContentProviderCodeGenerator. This library can generate all the code you need to add the corresponding ContentProvider from a database schema JSON definition file.

SQLite Alternatives

Realm. Realm is a mobile database, and a replacement for SQLite. Realm is the first database developed from scratch to target mobile devices.

CouchBase Lite. It is a lightweight, embedded, syncable NoSQL database engine for Android. This library is used to sync local database with Couchbase Server on the backend.

OrientDB-Android. OrientDB is an open source NoSQL DBMS with both the features of Document and Graph DBMS. OrientDB-Android is a port for the Android platform. It is still under development.


EasyPreferences. It is a small library containing a helper for the Shared Preferences, which can initialize the shared preferences inside the onCreate of the Application class.

Secure-preferences. Android Shared preference wrapper than encrypts the values of Shared Preferences using AES 128, CBC, and PKCS5padding with integrity checking in the form of a SHA 256 hash. It helps add another layer of security to your app.

PrefCompat. The library supports storing objects in data types other than the standard primitives. It also makes the process of working with Shared Preference easier.

Shared Preferences Helper. A library that reduces SharedPreferences boilerplate code.


Sync-Android. A JSON-based document datastore for Android applications.

Moshi. Moshi is a modern JSON library for Android which makes it easy to parse JSON into Java objects. Moshi supports Java’s core data types, consist of Primitives (int, float, char…) and their boxed counterparts (Integer, Float, Character…), Arrays, Collections, Lists, Sets, and Maps, Strings, and Enums.