2
respostas

Como usar o SharedPreferences

Bom dia, pessoal. Blz?

Estou tentando usar o SharedPreferences para iniciar o BD com alguns dados, mas não está funcionando. O BD continua vazio. Entendi a lógica errada?

onCreate {
(...)
SharedPreferences preferences = getSharedPreferences("ja_abriu_app", MODE_PRIVATE);
        if(preferences.contains("ja_abriu_app")){
            //não coloquei nada para ir para a MainActivity
        } else {
            fazerCadastrosIniciais();
            adicionarPreferenceJaAbriu(preferences);
    }
}

    private void fazerCadastrosIniciais() {
        Handler handle = new Handler();
        handle.postDelayed(new Runnable() {
            @Override
            public void run() {
                cadastraSituacoes();
            } }, 0);
    }

    private void adicionarPreferenceJaAbriu(SharedPreferences preferences) {
        SharedPreferences.Editor editor = preferences.edit();
        editor.putBoolean("ja_abriu_app", true);
        editor.apply(); }

    private void cadastraSituacoes() {
        Situacao situacao = new Situacao("Ambientação para ");
        new SalvaSituacaoTask(situacaoDAO, situacao);
    }
(...)
2 respostas

Fala Thiago, de boa ?

Cara olhando seu código, acredito que as coisas estejam certinhas.

Consegue nos explicar o que tá rolando de errado ?

Bom e vc, Matheus?

Pois é... A tabela situação continua vazia... até coloquei um log e está funcionando. Não vi nenhuma mensagem de erro relacionado ao shared

SharedPreferences preferences = getSharedPreferences("ja_abriu_app", MODE_PRIVATE);
        Log.i("script", "Inicial: "+String.valueOf(preferences.getBoolean("ja_abriu_app", false)));
        if(preferences.contains("ja_abriu_app")){

        } else {
            fazerCadastrosIniciais();
            adicionarPreferenceJaAbriu(preferences);
            Log.i("script", "Final: "+String.valueOf(preferences.getBoolean("ja_abriu_app", false)));
    }
2021-04-14 06:39:41.932 27481-27481/com.example.cadastrodevisita I/script: Inicial: false
2021-04-14 06:39:41.932 27481-27481/com.example.cadastrodevisita I/script: Final: true