For some reason I want to avoid Android's official SQLite implementation.
There seem to be very few alternative, and they seem to be very new, not-tested-much libraries with few operations implemented.
I hope to not be too subjective, but here are the features I need:
Note: I recently ported SQLJet to Android, and I just saw the website of SQLdroid (not sure what it does). I am surprised I can't find any fork of Android's SQLite, that could be acceptable as well.
Yes. The Android library provides native support to only SQLite. Of course, this doesn't mean you absolutely can't use other databases on Android; if you need to use other databases, you'll have to either look for already-existing third-party libraries(1), or roll out your own API.
The traditional SQLite + ORM abstraction is leaky because ORM simply converts Objects and their methods into SQL statements. As a result, it is a trade-off for developer productivity at the cost of performance. Realm, on the other hand, is an object database, meaning your objects directly reflect your database.
getWritableDatabase() -Create and/or open a database that will be used for reading and writing. The first time this is called, the database will be opened and onCreate(SQLiteDatabase), onUpgrade(SQLiteDatabase, int, int) and/or onOpen(SQLiteDatabase) will be called.
PostgreSQL. A unique relational database, PostgreSQL is the best database for Android and iOS apps. Developers can customize this database as they want; that's why it's the most preferred mobile app database.
Have you checked the BerkeleyDB? (nice paper here)
Or H2?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With