Inspecionando o seu database like a boss #1

Aviso importante!

Este post é para fins de utilidade pública. Se você utiliza SQLite3 nos seus projetos Android, você precisa ter o controle dessas ferramentas como parte das suas skills!

Direto ao ponto

O objetivo desta série de posts é mostrar as maneiras mais práticas para visualização do database da sua aplicação Android. Isso irá facilitar, e muito, a vida da equipe de desenvolvimento. Se você chegou até aqui mas não tem a menor ideia do que estou falando, sugiro começar seus estudos por aqui.

Então a parada é a seguinte:

O nosso database de exemplo possui uma estrutura extremamente simples. Ele contém uma tabela chamada Users, que por sua vez contém apenas as colunas _id e name. Vale lembrar que em uma aplicação real, a nomenclatura da coluna _id deve ser definida exatamente desta maneira, pois alguns componentes como por exemplo a ListView, utilizam esta coluna para indexar os seus itens, ok?

Ferramenta da vez: SQLite3 via ADB Shell

Talvez esta seja a maneira mais prática. Digo isto, pois para utilizar esta ferramenta não é necessário a instalação de nenhum programa ou plugin de terceiros. Você pode encontrar o utilitário ADB em:

<sdk>/platform-tools/

Abra o seu terminal predileto, navegue até o diretório acima e comece a diabaria.

1) Liste os devices conectados.

adb devices

2) Conecte em algum dos devices da lista.

adb -s nome-do-device shell

3) Conecte no database.

sqlite3 /data/data/<nome-do-pacote-do-aplicativo>/databases/<nome-do-database>

Alerta: Se você tentar conectar em um dispositivo físico, como por exemplo o seu telefone, o acesso a essa pasta será recusado por razões óbvias de segurança. Caso contrário, você poderia sair inspecionando o database de qualquer aplicativo. Essa permissão é garantida apenas nos emuladores, portanto execute um e seja feliz.

4) Show me!

A partir de agora você pode escrever qualquer comando SQL. Eu disse qualquer um. Lembra da estrutura do nosso database que eu citei lá em cima? Exibindo o schema temos o seguinte resultado:

Schema

Selecionando todos os registros da tabela Users:

Users

Há uma série de comandos que podem ser executados, rola até um dump do database inteiro! A referência completa deles você encontra aqui.

Esta dica super rápida ajuda muito no processo de desenvolvimento. Nos próximos posts dessa série irei falar sobre uma ferramenta com interface gráfica muito legal.

Quer saber qual é? Fica ligado!

Dúvidas? Escreve aí!