0

Firebaseリアルタイムデータベースにデータを挿入しようとしています。私のアプリケーションのロジックは、usernamepasswordusersカラムの下にユーザがサインアップしているときにデータベースに新しいフィールドを作成することです。Android Firebaseリアルタイムデータベースが動作しない

申し込み時に、電子メール、ユーザー名、およびパスワードが必要です。私はこれを行うためにFirebase Authを使用しています。私は、アプリケーションを実行すると、私は正常にサインアップすることができますが、値はデータベースで作成されていません。

私が何かを逃した場合は助けてください。これは私のコードです。ユーザー名とパスワードフィールドが空であるか、それはほぼ同様である。このコードを試してみてください

package dev.mintz.loginapp; 

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.TextView; 

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; 

import com.google.firebase.database.DatabaseReference; 
import com.google.firebase.database.FirebaseDatabase; 

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

    public static String username, password; 
    //defining view objects 
    private EditText editTextEmail; 
    private EditText editTextPassword; 
    private EditText editTextUsername; 
    private Button buttonSignup; 

    private TextView textViewSignin; 

    private ProgressDialog progressDialog; 


    //defining firebaseauth object 
    private FirebaseAuth firebaseAuth; 

    private DatabaseReference databaseReference; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     //initializing firebase auth object 
     firebaseAuth = FirebaseAuth.getInstance(); 

     //if getCurrentUser does not returns null 
     if(firebaseAuth.getCurrentUser() != null){ 
      //that means user is already logged in 
      //so close this activity 
      finish(); 

      //and open profile activity 
      startActivity(new Intent(getApplicationContext(), ProfileActivity.class)); 
     } 

     //getting the database reference 
     databaseReference = FirebaseDatabase.getInstance().getReference(); 
     //initializing views 
     editTextEmail = (EditText) findViewById(R.id.editTextEmail); 
     editTextUsername = (EditText) findViewById(R.id.editTextUsername); 
     editTextPassword = (EditText) findViewById(R.id.editTextPassword); 
     textViewSignin = (TextView) findViewById(R.id.textViewSignin); 

     buttonSignup = (Button) findViewById(R.id.buttonSignup); 

     progressDialog = new ProgressDialog(this); 

     //attaching listener to button 
     buttonSignup.setOnClickListener(this); 
     textViewSignin.setOnClickListener(this); 
    } 

    private void registerUser(){ 

     //getting email and password from edit texts 
     String email = editTextEmail.getText().toString().trim(); 
     String username = editTextUsername.getText().toString().trim(); 
     String password = editTextPassword.getText().toString().trim(); 

     //checking if email and passwords are empty 
     if(TextUtils.isEmpty(email)){ 
      Toast.makeText(this,"Please enter email",Toast.LENGTH_LONG).show(); 
      return; 
     } 

     if(TextUtils.isEmpty(password)){ 
      Toast.makeText(this,"Please enter password",Toast.LENGTH_LONG).show(); 
      return; 
     } 

     //if the email and password are not empty 
     //displaying a progress dialog 

     progressDialog.setMessage("Registering Please Wait..."); 
     progressDialog.show(); 

     //creating a new user 
     firebaseAuth.createUserWithEmailAndPassword(email, password) 
       .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
        @Override 
        public void onComplete(@NonNull Task<AuthResult> task) { 
         //checking if success 
         if(task.isSuccessful()){ 
          saveUserInformation(); 
          Toast.makeText(MainActivity.this,"Successfully registered",Toast.LENGTH_LONG).show(); 
          finish(); 
          startActivity(new Intent(getApplicationContext(), ProfileActivity.class)); 
         }else{ 
          //display some message here 
          Toast.makeText(MainActivity.this,"Registration Error",Toast.LENGTH_LONG).show(); 
         } 
         progressDialog.dismiss(); 
        } 
       }); 

    } 

    private void saveUserInformation() { 
     //Getting values from database 

     //creating a userinformation object 
     UserInformation userInformation = new UserInformation(username,password); 
     databaseReference.child("users").setValue(userInformation); 


    } 

    @Override 
    public void onClick(View view) { 

     if(view == buttonSignup){ 
      registerUser(); 
     } 

     if(view == textViewSignin){ 
      //open login activity when user taps on the already registered textview 
      startActivity(new Intent(this, LoginActivity.class)); 
     } 

    } 
} 

ERRORログ

01-19 04:10:13.442 31951-31951/? I/art: Not late-enabling -Xcheck:jni (already on) 
01-19 04:10:13.443 31951-31951/? W/art: Unexpected CPU variant for X86 using defaults: x86 
01-19 04:10:13.474 31951-31951/? W/System: ClassLoader referenced unknown path: /data/app/dev.mintz.loginapp-1/lib/x86 
01-19 04:10:13.482 31951-31951/? I/InstantRun: Instant Run Runtime started. Android package is dev.mintz.loginapp, real application class is null. 
01-19 04:10:21.400 31951-31951/dev.mintz.loginapp W/System: ClassLoader referenced unknown path: /data/app/dev.mintz.loginapp-1/lib/x86 
01-19 04:10:21.511 31951-31984/dev.mintz.loginapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
01-19 04:10:21.519 31951-31984/dev.mintz.loginapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
01-19 04:10:21.552 31951-31951/dev.mintz.loginapp D/FirebaseAuth: Notifying listeners about user (pv8XHzgO75MvPpTyEfelKGmv3mw2). 
01-19 04:10:21.562 31951-31951/dev.mintz.loginapp D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization. 
01-19 04:10:21.563 31951-31984/dev.mintz.loginapp W/System: ClassLoader referenced unknown path: /system/priv-app/PrebuiltGmsCore/lib/x86 
01-19 04:10:21.575 31951-31984/dev.mintz.loginapp D/ApplicationLoaders: ignored Vulkan layer search path /system/priv-app/PrebuiltGmsCore/lib/x86:/system/fake-libs:/system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk!/lib/x86:/system/lib:/vendor/lib for namespace 0xa9c8f090 
01-19 04:10:21.585 31951-31951/dev.mintz.loginapp I/FA: App measurement is starting up, version: 9683 
01-19 04:10:21.585 31951-31951/dev.mintz.loginapp I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE 
01-19 04:10:21.585 31951-31951/dev.mintz.loginapp D/FA: Debug-level message logging enabled 
01-19 04:10:21.585 31951-31951/dev.mintz.loginapp D/FA: AppMeasurement singleton hash: 107909644 
01-19 04:10:21.592 31951-31951/dev.mintz.loginapp V/FA: Collection enabled 
01-19 04:10:21.592 31951-31951/dev.mintz.loginapp V/FA: App package, google app id: dev.mintz.loginapp, 1:755290135710:android:03e30c324c6ca56a 
01-19 04:10:21.592 31951-31951/dev.mintz.loginapp I/FA: To enable faster debug mode event logging run: 
                  adb shell setprop firebase.analytics.debug-mode dev.mintz.loginapp 
01-19 04:10:21.594 31951-31984/dev.mintz.loginapp W/System: ClassLoader referenced unknown path: 
01-19 04:10:21.594 31951-31984/dev.mintz.loginapp W/System: ClassLoader referenced unknown path: /system/priv-app/PrebuiltGmsCore/lib/x86 
01-19 04:10:21.599 31951-31984/dev.mintz.loginapp D/ApplicationLoaders: ignored Vulkan layer search path /system/priv-app/PrebuiltGmsCore/lib/x86:/system/fake-libs:/system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk!/lib/x86:/system/lib:/vendor/lib for namespace 0xa9c8f0d0 
01-19 04:10:21.606 31951-31951/dev.mintz.loginapp V/FA: Registered activity lifecycle callback 
01-19 04:10:21.608 31951-31951/dev.mintz.loginapp I/FirebaseInitProvider: FirebaseApp initialization successful 
01-19 04:10:21.613 31951-31988/dev.mintz.loginapp V/FA: Using measurement service 
01-19 04:10:21.613 31951-31988/dev.mintz.loginapp V/FA: Connecting to remote service 
01-19 04:10:21.693 31951-31951/dev.mintz.loginapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 
01-19 04:10:21.696 31951-31951/dev.mintz.loginapp V/FA: onActivityCreated 
01-19 04:10:21.822 31951-31951/dev.mintz.loginapp I/DynamiteModule: Considering local module com.google.android.gms.firebase_database:4 and remote module com.google.android.gms.firebase_database:4 
01-19 04:10:21.822 31951-31951/dev.mintz.loginapp I/DynamiteModule: Selected remote version of com.google.android.gms.firebase_database, version >= 4 
01-19 04:10:21.825 31951-31951/dev.mintz.loginapp W/System: ClassLoader referenced unknown path: /data/user/0/com.google.android.gms/app_chimera/m/00000002/n/x86 
01-19 04:10:21.836 31951-31951/dev.mintz.loginapp D/FirebaseApp: Notifying auth state listeners. 
01-19 04:10:21.836 31951-31951/dev.mintz.loginapp D/FirebaseApp: Notified 1 auth state listeners. 
01-19 04:10:21.849 31951-31951/dev.mintz.loginapp V/FA: onActivityCreated 
01-19 04:10:21.858 31951-31988/dev.mintz.loginapp V/FA: Activity resumed, time: 9906709 
01-19 04:10:21.867 31951-31992/dev.mintz.loginapp D/NetworkSecurityConfig: No Network Security Config specified, using platform default 
01-19 04:10:21.879 31951-31988/dev.mintz.loginapp D/FA: Connected to remote service 
01-19 04:10:21.879 31951-31988/dev.mintz.loginapp V/FA: Processing queued up service tasks: 1 
01-19 04:10:21.929 31951-31995/dev.mintz.loginapp I/OpenGLRenderer: Initialized EGL, version 1.4 
01-19 04:10:21.929 31951-31995/dev.mintz.loginapp D/OpenGLRenderer: Swap behavior 1 
01-19 04:10:21.965 31951-31995/dev.mintz.loginapp E/EGL_emulation: tid 31995: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH) 
01-19 04:10:21.965 31951-31995/dev.mintz.loginapp W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xa0ebc360, error=EGL_BAD_MATCH 
01-19 04:10:26.891 31951-31988/dev.mintz.loginapp V/FA: Inactivity, disconnecting from the service 
01-19 04:10:31.896 31951-31984/dev.mintz.loginapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
01-19 04:13:23.901 31951-31951/dev.mintz.loginapp D/FirebaseAuth: Notifying listeners about a sign-out event. 
01-19 04:13:23.912 31951-31951/dev.mintz.loginapp D/FirebaseApp: Notifying auth state listeners. 
01-19 04:13:23.912 31951-31951/dev.mintz.loginapp D/FirebaseApp: Notified 1 auth state listeners. 
01-19 04:13:23.913 31951-2386/dev.mintz.loginapp V/FA: Activity paused, time: 10088764 
01-19 04:13:23.989 31951-31951/dev.mintz.loginapp V/FA: onActivityCreated 
01-19 04:13:23.998 31951-2386/dev.mintz.loginapp V/FA: Activity resumed, time: 10088850 
01-19 04:13:24.145 31951-31995/dev.mintz.loginapp E/EGL_emulation: tid 31995: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH) 
01-19 04:13:24.145 31951-31995/dev.mintz.loginapp W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x85b0a2c0, error=EGL_BAD_MATCH 
01-19 04:13:24.231 31951-31995/dev.mintz.loginapp D/OpenGLRenderer: endAllActiveAnimators on 0x85b31280 (RippleDrawable) with handle 0x869484c0 
01-19 04:15:27.159 31951-4277/dev.mintz.loginapp V/FA: Activity paused, time: 10212010 
01-19 04:15:27.240 31951-31951/dev.mintz.loginapp V/FA: onActivityCreated 

                 [ 01-19 04:15:27.245 1602: 1627 D/   ] 
                 HostConnection::get() New Host Connection established 0x8cab5540, tid 1627 
01-19 04:15:27.251 31951-4277/dev.mintz.loginapp V/FA: Activity resumed, time: 10212102 
01-19 04:15:27.350 31951-31995/dev.mintz.loginapp E/EGL_emulation: tid 31995: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH) 
01-19 04:15:27.350 31951-31995/dev.mintz.loginapp W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x83719a00, error=EGL_BAD_MATCH 
01-19 04:15:27.555 31951-31951/dev.mintz.loginapp W/IInputConnectionWrapper: finishComposingText on inactive InputConnection 
01-19 04:15:41.216 31951-31951/dev.mintz.loginapp W/IInputConnectionWrapper: finishComposingText on inactive InputConnection 
01-19 04:15:44.184 31951-31951/dev.mintz.loginapp W/IInputConnectionWrapper: finishComposingText on inactive InputConnection 
01-19 04:15:49.822 31951-31984/dev.mintz.loginapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
01-19 04:15:49.823 31951-31984/dev.mintz.loginapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
01-19 04:15:49.867 31951-31995/dev.mintz.loginapp E/EGL_emulation: tid 31995: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH) 
01-19 04:15:49.867 31951-31995/dev.mintz.loginapp W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xa0eee300, error=EGL_BAD_MATCH 
01-19 04:15:56.011 31951-31963/dev.mintz.loginapp D/FirebaseAuth: Notifying listeners about a sign-out event. 
01-19 04:15:56.011 31951-31951/dev.mintz.loginapp D/FirebaseApp: Notifying auth state listeners. 
01-19 04:15:56.012 31951-31951/dev.mintz.loginapp D/FirebaseApp: Notified 1 auth state listeners. 
01-19 04:15:56.015 31951-31963/dev.mintz.loginapp D/FirebaseAuth: Notifying listeners about user (LuXbE7Pbe1gVjQb7XqAOCTXZbFF3). 
01-19 04:15:56.015 31951-31951/dev.mintz.loginapp D/FirebaseApp: Notifying auth state listeners. 
01-19 04:15:56.016 31951-31951/dev.mintz.loginapp D/FirebaseApp: Notified 1 auth state listeners. 
01-19 04:15:56.103 31951-4277/dev.mintz.loginapp V/FA: Activity paused, time: 10240955 

                 [ 01-19 04:15:56.108 1602: 1627 D/   ] 
                 HostConnection::get() New Host Connection established 0x8ee8d640, tid 1627 
01-19 04:15:56.675 31951-31995/dev.mintz.loginapp E/EGL_emulation: tid 31995: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH) 
01-19 04:15:56.675 31951-31995/dev.mintz.loginapp W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x83609220, error=EGL_BAD_MATCH 
01-19 04:15:56.676 31951-31951/dev.mintz.loginapp V/FA: onActivityCreated 
01-19 04:15:56.683 31951-4277/dev.mintz.loginapp V/FA: Activity resumed, time: 10241534 
01-19 04:15:56.815 31951-31995/dev.mintz.loginapp E/EGL_emulation: tid 31995: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH) 
01-19 04:15:56.815 31951-31995/dev.mintz.loginapp W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x869254e0, error=EGL_BAD_MATCH 
01-19 04:15:56.863 31951-31951/dev.mintz.loginapp W/IInputConnectionWrapper: finishComposingText on inactive InputConnection 
01-19 04:15:59.921 31951-31984/dev.mintz.loginapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
01-19 04:16:57.336 31951-5610/dev.mintz.loginapp V/FA: Recording user engagement, ms: 3600055 
01-19 04:16:57.342 31951-5610/dev.mintz.loginapp I/FA: Tag Manager is not found and thus will not be used 
01-19 04:16:57.345 31951-5610/dev.mintz.loginapp D/FA: Logging event (FE): _e, Bundle[{_o=auto, _et=3600055}] 
01-19 04:16:57.355 31951-5610/dev.mintz.loginapp V/FA: Using measurement service 
01-19 04:16:57.355 31951-5610/dev.mintz.loginapp V/FA: Connecting to remote service 
01-19 04:16:57.360 31951-5610/dev.mintz.loginapp D/FA: Connected to remote service 
01-19 04:16:57.360 31951-5610/dev.mintz.loginapp V/FA: Processing queued up service tasks: 1 
01-19 04:17:02.369 31951-5610/dev.mintz.loginapp V/FA: Inactivity, disconnecting from the service 
+0

PlzzのGradleはあなたが取得しているか、エラーのアプリ –

+0

のファイルやアプリケーションクラスを作成し共有しますか? – Gattsu

+0

'addOnCompleteListener'を' setValue() 'に追加し、それがなぜ失敗しているのかを確認し、Firebaseデータベースのルールを確認してください。 –

答えて

0

確認してください。コード内で、それはどちらかチェックしているためメールアドレスとパスワードが空の場合は、残りを続行あなたはfirebaseAuth.createUserWithEmailAndPassword()を入れて...他に持って

final String emailId = mEditTextEmail.getText().toString() ; 
String password = mEditTextPassword.getText().toString() ; 
firebaseRef.createUser(emailId, password, new Firebase.ValueResultHandler<Map<String,Object>>() { 
     @Override 
     public void onSuccess(Map<String, Object> stringObjectMap) { 
          User user = new User(); 
          user.setUsername(emailId); 
          user.setPassword(password); 
          firebaseRef.child("Users").child(stringObjectMap.get("uid").toString()).setValue(user); 
       } 
0

....だから、慎重に方法を置きます。..

If (TextUtils.isEmpty(email) || TextUtils.isEmpty(password)){ 
if(TextUtils.isEmpty(email)){ 
     Toast.makeText(this,"Please enter email",Toast.LENGTH_LONG).show(); 
     return; 
    } 

    if(TextUtils.isEmpty(password)){ 

     Toast.makeText(this,"Please enter password",Toast.LENGTH_LONG).show(); 
     return; 
    } 
} 
else { 
    progressDialog.setMessage("Registering Please Wait..."); 
     progressDialog.show(); 

    //creating a new user 
    firebaseAuth.createUserWithEmailAndPassword(email, password)......... 

}

関連する問題