Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Depois de migrar não consigo subir o APP

Esse é o código que aparece no console.

E/SQLiteLog: (20) statement aborts at 9: [UPDATE Alunos SET id = ? WHERE id = ?] datatype mismatch
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: br.com.alura.agenda, PID: 8351
                  java.lang.RuntimeException: Unable to resume activity {br.com.alura.agenda/br.com.alura.agenda.activities.ListaAlunosActivity}: android.database.sqlite.SQLiteDatatypeMismatchException: datatype mismatch (code 20)

Já consultei outras questões do fórum e não consigo identificar o erro.

Esse é o link do github!

Atenciosamente, obrigado.

5 respostas

Irlan, peguei o seu projeto e tentei simular o erro, por enquanto não encontrei o problema, consegue me dar mais detalhes quando acontece? Dessa forma eu executo aqui e vejo o que pode estar acontecendo.

[]s

Olá Alex antes de tudo obrigado pela força mas assim, acontece sempre que faço o run app

E/SQLiteLog: (20) statement aborts at 9: [UPDATE Alunos SET id = ? WHERE id = ?] datatype mismatch
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: br.com.alura.agenda, PID: 8245
                  java.lang.RuntimeException: Unable to resume activity {br.com.alura.agenda/br.com.alura.agenda.activities.ListaAlunosActivity}: android.database.sqlite.SQLiteDatatypeMismatchException: datatype mismatch (code 20)
                      at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3400)
                      at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3440)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2713)
                      at android.app.ActivityThread.-wrap12(ActivityThread.java)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6077)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
                   Caused by: android.database.sqlite.SQLiteDatatypeMismatchException: datatype mismatch (code 20)
                      at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
                      at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:734)
                      at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
                      at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
                      at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1679)
                      at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1658)
                      at br.com.alura.agenda.dao.AlunoDAO.onUpgrade(AlunoDAO.java:106)
                      at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
                      at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
                      at br.com.alura.agenda.dao.AlunoDAO.getAlunos(AlunoDAO.java:135)
                      at br.com.alura.agenda.activities.ListaAlunosActivity.carregarLista(ListaAlunosActivity.java:122)
                      at br.com.alura.agenda.activities.ListaAlunosActivity.onResume(ListaAlunosActivity.java:107)
                      at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1269)
                      at android.app.Activity.performResume(Activity.java:6766)
                      at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3377)
                      at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3440) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2713) 
                      at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:154) 
                      at android.app.ActivityThread.main(ActivityThread.java:6077) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 

o git está 100% atualizado.

solução!

Aqui tá indo de boas, será que foi no processo de migration? Dá pra vc testar se foi isso limpando os dados do App ou desinstalando, já que instalei pela primeira vez, ele não faz a migração.

No pior dos casos, adicione um breakpoint e faça um debugging para identificar o problema. Se tiver dúvidas sobre como funciona o debugging me avisa que te passo uma aula que explico sobre isso no curso de IntelliJ.

[]s

Desculpa a demora tive uns problemas porém vou tirar um tempo pra testar tudo isso que falou mas assim, eu queria fazer uma forma de zerar tudo e não fazer mais a migração para que possa continuar o curso.

Obrigado.

Pulei a parte de migração, no caso o case 4: do onUpgrade(), subi o app e apaguei os dados, pulei a parte de migração.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software