|Written by Kay Ewbank|
|Thursday, 23 April 2015|
Yahoo has announced SquiDB, an open source SQLite database layer for Android.
SquiDB is designed to let you work with SQLite databases while still giving the power and flexibility of raw SQL. It combines features of an ORM with object-oriented SQL statement builders, so avoiding the need to have SQL strings in your Java code. SquiDB also includes built-in tools and hooks that you can use to write database migrations as well as implement ContentProviders.
SquiDB represents rows in your SQLite tables as objects, and according to developers Sam Bosley and Jonathan Koren on the Yahoo Engineering blog uses compile time code generation to let you define your models/table schemas as minimally as possible – the actual code you will work with is generated at compile time. You use a DatabaseDao object to read from and write to these objects from the database. The generated model class also defines constant fields that you can reference for constructing queries.
The blog post says that SquiDB’s query object and associated classes support almost the entire SQL grammar in a way that is cleaner and easier to maintain, particularly for complex queries, as shown in this example:
(click in code to enlarge)
The pattern used by many of SQLite’s methods, including query methods, is that when you write your query, you use placeholders for arguments that will be passed to the statement. The values of these arguments are placed in a separate string. As the blog post points out, this makes the code harder to read and necessitates that extra string array for the arguments. SquiDB inserts those placeholders for you when compiling the Query object and binds the arguments automatically at query time.
The developers say that SquiDB can help you work with SQL views using model objects, write database migrations, and implement flexible ContentProviders backed by your SQLite database.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: email@example.com
|Last Updated ( Thursday, 23 April 2015 )|