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

Login com SQLite

Boa tarde, minha dúvida é a seguinte: como faço para fazer a validação de login e em seguida já levar para outra activity? Tentei comparar a o EditText com o nome do usuario direto do nome, porém ele dá como se o campo estivesse null. Sem nenhum erro... apenas rodando no debug, vejo que o campo está recebendo null. Segue o código:

 botao_login = findViewById(R.id.login_botao);
    botao_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Usuario usuario = new Usuario();
            Intent vaiParaListaEmpresas = new Intent(LoginActivity.this, ListaEmpresasActivity.class);
            if ((nome_login.getText().equals(usuario.getNome())) && (senha_login.getText().equals(usuario.getSenha()))){
                startActivity(vaiParaListaEmpresas);
            }else{
                Toast.makeText(LoginActivity.this, "Usuário ou senha não conferem!", Toast.LENGTH_SHORT).show();
            }
        }
    });

Alguém poderia me ajudar?

7 respostas

Rafaela, tudo bem ?

O problema é que seu Usuario acabou de ser criado na memoria, em momento algum você fez uma busca por ele.

Imagino que você queira fazer um dao ou ter alguma requisição para realizar essa busca.

Opa, Matheus.. tudo bem e aí? Então... eu teria que fazer uma busca igual faço para listar os usuarios, no caso? Assim...

  public List<Usuario> buscaUsuarios() {
        List<Usuario> usuarios = new ArrayList<>();
        Cursor c = dao.getReadableDatabase().rawQuery("SELECT * FROM Usuarios", null);
        while (c.moveToNext())
            usuarios.add(criaUsuario(c));
        c.close();
        return usuarios;
    }

Assim eu to buscando os usuários, como eu faria essa busca pra validar esse login?

Acho que vale mais a pena você fazer uma busca passando os parametros que vão ser o login e senha para o próprio banco, ai você consegue ver se houve ou não resultado

Você poderia exemplificar, por favor? Meu raciocinio já está lento. rsrs

um select com parametros:

SELECT * FROM Usuarios where x = ? and y = ?

solução!

no x e y vão ser o campos que você tem para fazer a busca, login e senha

Vou tentar aqui... qualquer coisa, volto aqui! Obrigada, Matheus!!