4
respostas

Problema no salvamento de dados no SQLite

Eu baixei o projeto do curso do Xamarim parte 4 (aula 05 Salvando os Dados do Aplicativo), executei e tentei gravar os dados para comparar com o meu projeto e deu o seguinte erro:

SQLite.SQLiteException: Could not open database file: /storage/emulated/0/Agendamento.db3 (CannotOpen)

"Seu aplicativo entrou em um estado de interrupção, mas não há nenhum código para mostrar porque todos os threads executaram código externo (geralmente código de sistema ou estrutura)."

O que devo fazer? Dei uma pesquisada e tentei uma o outra coisa mas não funcionou ai resolvi perguntar aqui e voltar a seguir com as aulas.

Desde já agradeço a ajuda. Pablo Wendel.

4 respostas

Bom dia, Pablo, tudo bem?

Qual a versão do Android no projeto (clique com o botão direito do mouse no projeto .Droid, veja em versão do Android)? Se estiver com a versão Marshmallow ou superior (Nougat, Oreo, etc.), por favor tente mudar para Lollypop, e tente novamente. Caso não resolva, eu te mando alguns passos adicioinais para resolver isso.

Marcelo, fiz o que falou e coloquei o projeto .Droid na versão "Android 5.0" mas na hora de fazer o login estoura o erro.

Unhandled Exception:

System.MissingMethodException:

"Seu aplicativo entrou em um estado de interrupção, mas não há nenhum código para mostrar porque todos os threads executaram código externo (geralmente código de sistema ou estrutura)."

Só consegui debugar até depois de passar pela primeira action do instacamento do Command no login:


        public LoginViewModel()
        {
            EntrarCommand = new Command(async () =>
            {
                var loginService = new LoginService();
                await loginService.FazerLogin(new Login(usuario, senha));
            }, ...

O Emulador é "Android_Accelerated_x86_Oreo (Android 8.1 - API 27). Tentei usar outros mas ficava compilando eternamente e nunca inicializava...

Pablo, reinicie o emulador, e em seguida tente limpar a solução (clicar com botão direito sobre a solução + clean solution) e tente rodar novamente a aplicação.

Eu tinha tentando fazer isso, até desinstalei o app do emulador e continua dando a mesma coisa.

    conteudoResultado    Function evaluation timeout.    
    resultadoLogin    Function evaluation timeout.    

02-13 15:40:20.604 F/libc (14330): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x43000c in tid 14330 (TestDrive.Droid), pid 14330 (TestDrive.Droid)

Testei em outros emuladores também, como "Nexus_5X_API_23...". Coloquei versão mínima API 15 e destino Android 5.0 API 21 (mesmo que coloquei na versão de compilação.