1
resposta

Erro ao iniciar emulador

Olá,

Após as alterações da aula de configuração da câmera o aplicativo dá erro e aparece a stack de erro:

Caused by: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
                                                                                 at android.database.CursorWindow.nativeGetString(Native Method)
                                                                                 at android.database.CursorWindow.getString(CursorWindow.java:438)
                                                                                 at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
                                                                                 at br.com.projeto.minha.agenda.dao.AlunoDAO.busca(AlunoDAO.java:79)
                                                                                 at br.com.projeto.minha.agenda.ListaAlunosActivity.carregaLista(ListaAlunosActivity.java:122)
                                                                                 at br.com.projeto.minha.agenda.ListaAlunosActivity.onResume(ListaAlunosActivity.java:61)

E a linha que da stack no código é essa:

aluno.setCaminhoFoto(cursor.getString(cursor.getColumnIndex("caminhoFoto")));

Obrigado.

1 resposta

Olá Guilherme,

Aparentemente o aplicativo não tá conseguindo encontrar a coluna caminhoFoto no banco de dados.

As causas podem ser várias mas eu recomendaria verificar primeiro o método onCreate do seu DAO para checar o nome da coluna se está correto. Também verificaria o nome da coluna no método onUpgrade porque se o banco de dados foi atualizado, esse será o método chamado. Se os nomes estiverem corretos, verifique se você alterou o número da versão do banco. Lembre-se que o banco só será atualizado se atualizarmos o código da versão.

Como última tentativa, tente desinstalar o aplicativo e rodá-lo novamente. Isso irá fazer com que o banco de dados seja recriado e nesse caso, espera-se que ele tenha todas as colunas que foram definidas no método onCreate.