MASTG-KNOW-0037: Banco de Dados SQLite

O SQLite é um mecanismo de banco de dados SQL que armazena dados em arquivos .db. O Android SDK possui suporte integrado para bancos de dados SQLite. O pacote principal usado para gerenciar os bancos de dados é o android.database.sqlite.

Por exemplo, você pode usar o seguinte código para armazenar informações sensíveis em uma atividade:

var notSoSecure = openOrCreateDatabase("privateNotSoSecure", Context.MODE_PRIVATE, null)
notSoSecure.execSQL("CREATE TABLE IF NOT EXISTS Accounts(Username VARCHAR, Password VARCHAR);")
notSoSecure.execSQL("INSERT INTO Accounts VALUES('admin','AdminPass');")
notSoSecure.close()

Uma vez que a atividade for chamada, o arquivo de banco de dados privateNotSoSecure será criado com os dados fornecidos e armazenado em texto claro no arquivo /data/data/<nome-do-pacote>/databases/privateNotSoSecure.

O diretório do banco de dados pode conter vários arquivos além do banco de dados SQLite:

  • Arquivos de journal: São arquivos temporários usados para implementar commit e rollback atômicos.
  • Arquivos de lock: Os arquivos de lock fazem parte do recurso de bloqueio e journaling, projetado para melhorar a concorrência do SQLite e reduzir o problema de inanição do escritor.

Informações sensíveis não devem ser armazenadas em bancos de dados SQLite não criptografados.