The following is the first few sections of a chapter from The Busy Coder's Guide to Android Development, plus headings for the remaining major sections, to give you an idea about the content of the chapter.
SQLite databases, by default, are stored on internal storage, accessible only to the app that creates them.
At least, that is the theory.
In practice, it is conceivable that others could get at an app’s SQLite database, and that those “others” may not have the user’s best interests at heart. Hence, if you are storing data in SQLite that should remain confidential despite extreme measures to steal the data, you may wish to consider encrypting the database.
Perhaps the simplest way to encrypt a SQLite database is to use SQLCipher. SQLCipher is a SQLite extension that encrypts and decrypts database pages as they are written and read. However, SQLite extensions need to be compiled into SQLite, and the stock Android SQLite does not have the SQLCipher extension.
SQLCipher for Android,
therefore, comes in the form of a replacement implementation of
SQLite that you add as an NDK library to your project. It also ships
with replacement editions of the
that use the SQLCipher library instead of the built-in SQLite. This
way, your app can be largely oblivious to the actual database
implementation, particularly if it is hidden behind a
ContentProvider or similar abstraction layer.
SQLCipher for Android is a joint initiative of Zetetic (the creators of SQLCipher) and the Guardian Project (home of many privacy-enhancing projects for Android). SQLCipher for Android is open source, under the Apache License 2.0.
Understanding this chapter requires that you have read the chapter on database access.
The preview of this section did not survive Thanos's finger snap.
The preview of this section apparently resembled a Pokémon.
The preview of this section was the victim of a MITM ('Martian in the middle') attack.
The preview of this section is in an invisible, microscopic font.
The preview of this section was traded for a bag of magic beans.
The preview of this section was fed to a gremlin, after midnight.
The preview of this section was abducted by space aliens.
The preview of this section was accidentally identified as an Android 'tasty treat' by the Cookie Monster.