Início > Android, Eclipse > [Android] – Acessando base de dados do emulador

[Android] – Acessando base de dados do emulador

Olá pessoal,

acho que pelo nível do último post, vocês devem ter notado que tenho dando uma olhada no desenvolvimento para Android né? Pois bem, a última coisa que me deu um certo trabalho foi ao usar a base de dados. Não sei se vocês sabem, mas tanto o iOS (iPhone e iPod Touch) possuem um banco de dados sqlite rodando nativamente.

Pois bem, assumindo então que você já sabe como criar então suas tabelas e acessá-las como então que você pode verificar se os dados estão sendo salvos corretamente? Uma das formas é você criar testes unitários que testará a sua classe helper, agora se você for um pouco mais preguiçoso, você simplesmente pode acessar o banco e fazer um select nas tabelas e ver o resultado né? 😉

Então, como conectar ao banco que está no emulador? o.O

Bom, existem 2 maneiras simples de fazer isso:

1 – Vá no seu ANDROID_HOME (o diretório onde está salvo o SDK do Android) e procure pela ferramenta “adb” (se estiver no path do seu computador é possível que ao digitar “adb” no shell você já consiga executá-lo). Certificando que o seu emulador deverá estar rodando, digite:

./adb -e shell

sqlite3 /data/data/com.seuprojeto/databases/nomesuabase

Se você executou corretamente, você agora estará executando o sqlite3 (apontando para a base de dados da sua aplicação) de dentro do shell do emulador. Basta executar os comandos normais! =D

2 – A maneira que eu acho mais simples. Baixe um editor gráfico para sqlite3 eu recomendo um bem simples que eu estou usando, o SQLite Database Browser. Depois vá no seu Eclipse (supondo que você esteja usando o Eclipse para desenvolver para Android) e vá para a perspectiva “DDMS”.

Ao abrir a perspectiva, é possível então você ir em “File Explorer” e procurar o arquivo da base de dados (lembra do caminho que a gente digitou na opçao anterior?) e copiar a base para o seu computador e então abri-lo usando o editor gráfico que você escolheu! 😉

Acho que é isso, espero que essas dicas sejam úteis para vocês assim como está sendo para mim! =D

[]’s

Anúncios
Categorias:Android, Eclipse Tags:,
  1. Anderson
    27/02/2012 às 14:50

    Cara vlw pela ajuda, salvo minha vida, agora posso fazer uns testes mais profundos no banco. flw

  2. Ademar Izu
    01/03/2012 às 12:04

    Feliz por ajudar! 😉

  3. 29/03/2012 às 17:57

    Parabéns pela postagem,
    Ajudou bastante!!!

  4. Filipe Moraes
    02/06/2012 às 23:09

    Muito bom, obrigado.
    Sabia ir pelo shell no pront, mas com essa perspectiva DDMS + Sqlite Database Browser é mais fácil verificar se tudo esta nos conformes.
    Grande dica, ajudou bastante 🙂

  5. 21/10/2012 às 21:47

    Obrigado. Ajudou muito.

  6. Deus é fiel
    03/02/2013 às 00:08

    Perfeito cara! Ajudou muitíssimo!
    Deus o abençoe.

  7. 01/05/2013 às 20:21

    dica: quando estiver conctado ao BD digite:
    .headers ON
    .mode columns

    daí use as consultas.

  8. Maria
    06/10/2013 às 15:19

    Olá Ademar, estou com dificuldade em copiar a base para o pc, como faço isso?

    Desde já, obrigada 😉

    • 07/10/2013 às 19:25

      Você poderia explicar mais exatamente qual a sua dificuldade?

  9. maikol
    22/06/2014 às 12:43

    Pessoal quem puder me ajudar , por favor entre em contato !

    Sou programador iniciante e preciso de ajuda no sqlite

    Me ajudem preciso muito !

    Desde já obrigado

    Quem puder ajudar mande um email para: csmaikol@gmail.com

    • 27/06/2014 às 14:53

      Opa Maikol,

      você pode colocar sua dúvida aqui mesmo nos comentários, pois assim é mais fácil de alguém ler e responder de forma correta (e até gerar uma boa discussão). O que me diz?

  10. maikol
    28/06/2014 às 09:41

    Ademar obrigado por responder !

    cara pra mim seria difícil pq precisaria postar todo meu código para descobrir qual meu erro na criação e inserção dos dados no BD no log cat não apresenta erros nem nos fontes mas não aparece o registro dos dados, pra mim ta sendo um tabu passar dessa fase da programação já faz 2 meses que estou me aplicando ao estudo do SQLite já tentei de tudo ler vários livros baixar fontes e tentar imitar na minha aplicação mas não da certo, ta um luta muito desgastante pra mim conseguir ajuda direta as pessoas querem ajudar sim mas ajudam indicando you tube Google manda livros , mas o que preciso no momento e de um professor para ajudar pq não consigo mais ler e não conseguir botar em pratica ta uma coisa muito frustante já .

    mas desde já agraço a colaboração !

    • 06/07/2014 às 18:38

      Opa Maikol,

      sem código fica difícil de te ajudar, mas vou tentar mesmo assim. Você já tentou colocar um break point antes da inserção para ver se os dados que você está tentando inserir realmente estão lá? Qual o resultado do teu insert? Se o resultado for -1 é porque não foi inserido. Tente trocar o método insert pelo insertOrThrow para ver o erro que está acontecendo. Também retire (caso tenha) o try e catch que está encapsulando o método… pode ser que ele esteja escondendo o erro.

      Se mesmo assim, você não conseguir indentificar o erro, podes me mandar uma msg para ademarizu@gmail.com.

      Abraços e boa sorte ai!

  11. Érico Ulisses
    16/02/2015 às 06:58

    Caro Ademar, será que é possivel gerar um texto ou pdf das tabelas sem a necessidade de fazer o acesso pela perspectiva ddms para conferir, ou enviar um e-mail com todo o conteúdo da tabela, pois estou desenvolvendo um app de cadastro e é necessário que os dados sejam repassados para serem inseridos em um BD.

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: