Estou tentando fazer uma Autenticação de email e senha com conexão com Firebase.
Quem puder, agradeço.
Edit.
packagebr.com.deniscarvasilva.hello;importandroid.support.annotation.NonNull;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.widget.Toast;importcom.google.android.gms.tasks.OnCompleteListener;importcom.google.android.gms.tasks.Task;importcom.google.firebase.auth.AuthResult;importcom.google.firebase.auth.FirebaseAuth;publicclassMainActivityextendsAppCompatActivity{privateFirebaseAuthmAuth;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);createUser();}publicvoidcreateUser(){Stringemail="[email removido]";Stringpassword="42378942";mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(this,newOnCompleteListener<AuthResult>(){@OverridepublicvoidonComplete(@NonNullTask<AuthResult>task){if(task.isSuccessful()){Toast.makeText(MainActivity.this,"Deu certo",Toast.LENGTH_SHORT).show();}else{Toast.makeText(MainActivity.this,"Nao deu certo",Toast.LENGTH_SHORT).show();}}});}}
Esta opção está habilitada no firebase? O usuário está cadastrado no firebase?
D
denisspitfire
Não, não há cadastro nenhum lá ainda. A opção está habilitada
L
Luis_Augusto_Santos
Cara, fiz a mesma coisa há umas duas semanas, devido a um curso que estou fazendo e não tive problemas.
Segui todos os passos (de gerar o sha1 da aplicação, colocar no projeto firebase, pegar as chaves, colocar nos dois arquivos do gradle, depois incluir a dependência no build.gradle e incorporar as dependências nos arquivos java.
Talvez você precisa refazer alguns passos, para se certificar que está seguindo corretamente.
Eu não consigo te ajudar daqui por duas razões: não tenho android studio no computador do trabalho e o proxy bloqueia o firebase.
D
denisspitfire
precisa gerar o sha1? nao tinha visto isso. vou dar uma olhada. Onde voce gerou ele?
D
denisspitfire
olha o meu código como esta agora
nao vejo problemas nele, ele para o aplicativo quando eu inicio ele, e nao consigo pegar o bug. Qual aba eu consigo ver oque esta acontecendo?
packagebr.com.deniscarvasilva.hello;importandroid.support.annotation.NonNull;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.widget.Toast;importcom.google.android.gms.tasks.OnCompleteListener;importcom.google.android.gms.tasks.Task;importcom.google.firebase.auth.AuthResult;importcom.google.firebase.auth.FirebaseAuth;publicclassMainActivityextendsAppCompatActivity{privateFirebaseAuthmAuth;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);createUser();}publicvoidcreateUser(){Stringemail="[email removido]";Stringpassword="42378942";mAuth.signInWithEmailAndPassword(email,password).addOnCompleteListener(this,newOnCompleteListener<AuthResult>(){@OverridepublicvoidonComplete(@NonNullTask<AuthResult>task){if(task.isSuccessful()){Toast.makeText(MainActivity.this,"Deu certo",Toast.LENGTH_SHORT).show();}else{Toast.makeText(MainActivity.this,"Nao deu certo",Toast.LENGTH_SHORT).show();}}});}}
L
Luis_Augusto_Santos
Cara, se eu bem me lembro, o signInWithEmailAndPassword é para autenticar.
Acredito que você precise deste método, antes de tentar autenticar (até por que, quando você cria o usuário com sucesso, o mesmo já está autenticado)
mas mesmo assim quando abre a aplicação, fecha quando chamo esse metodo
L
Luis_Augusto_Santos
Provavelmente está lançando alguma exceção.
Precisa dar uma debugada ou mesmo olhar atentamente ao console, assim conseguirá identificar o erro e tratar do mesmo.
D
denisspitfire
entao, isso que eu preciso saber, como faço isso? o erro sai no console? esse console nao seria o terminal?do lado de android monitor?
D
denisspitfire
achei, sai no android monitor, mas tem que ficar com ele aberto e pegar assim que der o erro, porque o erro sobe por causa da leitura do device.
null pointer, estranho… nao tem nenhum objeto na main que de pra dar null pointer (eu acho)
L
Luis_Augusto_Santos
Pesquisando por esta parte da mensagem, encontrei isto.
Pelo que entendi, você não instanciou o objeto mAuth, provavelmente tenha feito a declaração do mesmo, mas não o instanciou.
D
Solucao aceita
denisspitfire
sim!, achei também e faltava isso:
mAuth = FirebaseAuth.getInstance();
e liberar o cadastro e autenticação por e-mail la no banco de dados
D
denisspitfire
vlw mesmo pela ajuda.
L
Luis_Augusto_Santos
Por acaso você está seguindo o curso do Jamilton Damasceno, na udemy?
Pois eu fiz os mesmos passos quando passei por esta parte do curso.
D
denisspitfire
não, estou fazendo pela documentação mesmo. e um tutorial no youtube.