android - Firebase code not creating new user -


the code login/register class is:

 package com.example.joshpc.bluetoothattendee;   import android.app.progressdialog;  import android.content.intent;  import android.support.annotation.nonnull;  import android.support.v7.app.appcompatactivity;  import android.os.bundle;  import android.text.textutils;  import android.view.view;  import android.widget.button;  import android.widget.edittext;  import android.widget.toast;   import com.google.android.gms.tasks.oncompletelistener;  import com.google.android.gms.tasks.task;  import com.google.firebase.auth.authresult;  import com.google.firebase.auth.firebaseauth;   public class loginactivity extends appcompatactivity {  private edittext etemail; private edittext etpassword; private edittext etregpw; private firebaseauth firebaseauth; private button loginbut; private button regbut; private progressdialog message;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_login);      etemail = (edittext) findviewbyid(r.id.etemail);     etpassword = (edittext) findviewbyid(r.id.etpassword);     etregpw = (edittext) findviewbyid(r.id.etregpw);      firebaseauth = firebaseauth.getinstance();     loginbut = (button) findviewbyid(r.id.blogin);     regbut = (button) findviewbyid(r.id.bregister);     message = new progressdialog(this);        regbut.setonclicklistener(new view.onclicklistener(){         @override         public void onclick(view v){             userregister();         }     });      loginbut.setonclicklistener(new view.onclicklistener(){         @override         public void onclick(view v){             userlogin();         }     });  }  private void userregister(){     string email = etemail.gettext().tostring().trim();     string password = etpassword.gettext().tostring().trim();     string verify = etregpw.gettext().tostring().trim();      if(textutils.isempty(email)){         toast.maketext(this, "please enter email", toast.length_short).show();         return;     }     if(textutils.isempty(password)){         toast.maketext(this, "please enter password", toast.length_short).show();         return;     }     toast.maketext(this, email, toast.length_short).show();      if(textutils.equals(password, verify)){         message.setmessage("registering user...");         message.show();         firebaseauth.createuserwithemailandpassword(email, password)                 .addoncompletelistener(this, new oncompletelistener<authresult>() {                     @override                     public void oncomplete(@nonnull task<authresult> task) {                         if(task.issuccessful()){                             toast.maketext(loginactivity.this, "successful registration", toast.length_short).show();                             message.hide();                             senddata();                         }                         if(!task.issuccessful()){                             toast.maketext(loginactivity.this, "failed registration", toast.length_short).show();                             message.hide();                             return;                         }                     }                 });     }      else {         toast.maketext(this, "passwords not match", toast.length_short).show();         return;     }  } 

whenever run portion of code, ends showing toast message of "failed registration" , i'm not sure why. have tested values of email, password, , verify toast messages make sure being passed in correctly. have checked firebase suggested code authenticate users on android well.

my gradle build file is:

 apply plugin: 'com.android.application'   android { compilesdkversion 25 buildtoolsversion "25.0.0" uselibrary 'org.apache.http.legacy'  packagingoptions {     exclude 'meta-inf/license'     exclude 'meta-inf/notice'     exclude 'meta-inf/notice.txt' }  defaultconfig {     applicationid "com.example.joshpc.bluetoothattendee"     minsdkversion 19     targetsdkversion 25     versioncode 1     versionname "1.0"     testinstrumentationrunner "android.support.test.runner.androidjunitrunner"     vectordrawables.usesupportlibrary = true } buildtypes {     release {         minifyenabled true         debug{debuggable = true}         proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro'     } } }  dependencies { compile filetree(include: ['*.jar'], dir: 'libs') androidtestcompile('com.android.support.test.espresso:espresso-core:2.2.2',           {     exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.0.0' compile 'com.google.android.gms:play-services-gcm:9.6.1' compile 'com.google.firebase:firebase-auth:9.6.1' compile 'com.google.firebase:firebase-core:9.6.1' compile 'com.google.firebase:firebase-database:9.6.1' testcompile 'junit:junit:4.12' } apply plugin: 'com.google.gms.google-services' 

i running on emulator well.

if there needs edited in better trouble shooting please let me know.

update: user account registered showing in firebase, app still kicking error message out @ me.

if want know why creating user fails, should display reason firebase authentication gives you:

if(!task.issuccessful()){     firebaseauthexception e = (firebaseauthexception )task.getexception();     toast.maketext(loginactivity.this, "failed registration: "+e.getmessage(), toast.length_short).show();     message.hide();     return; } 

i highly recommend not using toasts display type of information, instead (or additionally) log it, have permanent record while developing:

log.e("loginactivity", "failed registration", e); 

Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -