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.