Создал экран входа в систему с помощью Firebase, но он, похоже, работает не так, как ожидалось

# #java #xml #firebase-realtime-database #firebase-authentication

#Ява #xml #firebase-база данных в реальном времени #firebase-аутентификация

Вопрос:

Я создал базу данных на базе firebase и у меня есть экран входа в систему, но мой экран входа, похоже, ничего не делает, я вижу в Logcat, что ничего не происходит, когда я ввожу данные и нажимаю кнопку входа, любая помощь в том, что я здесь делаю неправильно. ниже приведен код для основной активности и xml-файла.

 package com.example.firebaseintro;  import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity;  import android.os.Bundle; import android.util.Log; 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; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener;  public class MainActivity extends AppCompatActivity {   private FirebaseDatabase database;  private DatabaseReference databaseReference;  private FirebaseAuth mAuth;  private FirebaseAuth.AuthStateListener mAuthListner;  private static final String TAG = "MainActivity";   private EditText email;  private EditText password;  private Button login;   @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);   email = (EditText) findViewById(R.id.emailED);  password = (EditText) findViewById(R.id.passwordED);  login = (Button) findViewById(R.id.loginButton);    mAuth = FirebaseAuth.getInstance();   database = FirebaseDatabase.getInstance();   databaseReference = database.getReference("message");   databaseReference.setValue("another World");   databaseReference.addValueEventListener(new ValueEventListener() {  @Override  public void onDataChange(@NonNull DataSnapshot dataSnapshot) {  String value = dataSnapshot.getValue(String.class);  Toast.makeText(MainActivity.this, value, Toast.LENGTH_LONG).show();  }   @Override  public void onCancelled(@NonNull DatabaseError error) {   }  });   mAuthListner = new FirebaseAuth.AuthStateListener() {  @Override  public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {   FirebaseUser user = firebaseAuth.getCurrentUser();   if (user !=null) {  //User is Signed in  Log.d(TAG, "User Signed In");  }else {  //User is Signed Out  Log.d(TAG, "User Signed Out");  }  }  };   login.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  String emailString = email.getText().toString();  String pwd = password.getText().toString();   if (emailString.equals("") amp;amp; !pwd.equals("")){  mAuth.signInWithEmailAndPassword(emailString, pwd)  .addOnCompleteListener(MainActivity.this, new OnCompleteListenerlt;AuthResultgt;() {  @Override  public void onComplete(@NonNull Tasklt;AuthResultgt; task) {   if (!task.isSuccessful()) {  Toast.makeText(MainActivity.this, "Failed Sign In", Toast.LENGTH_LONG)  .show();  }else {   Toast.makeText(MainActivity.this, "Signed In!!", Toast.LENGTH_LONG)  .show();  databaseReference.setValue("Hey I am Working");  }   }  });  }  }  });   }   @Override  protected void onStart() {  super.onStart();  mAuth.addAuthStateListener(mAuthListner);  }   @Override  protected void onStop() {  super.onStop();   if (mAuthListner !=null){  mAuth.removeAuthStateListener(mAuthListner);  }  } }  

xml-файл

 lt;?xml version="1.0" encoding="utf-8"?gt; lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context=".MainActivity"gt;   lt;EditText  android:id="@ id/emailED"  android:layout_width="327dp"  android:layout_height="39dp"  android:ems="10"  android:hint="@string/email"  android:inputType="textEmailAddress"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.497"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.064"  android:autofillHints="" /gt;   lt;EditText  android:id="@ id/passwordED"  android:layout_width="325dp"  android:layout_height="52dp"  android:autofillHints=""  android:ems="10"  android:hint="@string/password"  android:inputType="textPassword"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.497"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toBottomOf="@ id/emailED"  app:layout_constraintVertical_bias="0.06" /gt;   lt;Button  android:id="@ id/loginButton"  android:layout_width="284dp"  android:layout_height="61dp"  android:layout_marginTop="28dp"  android:text="@string/login"  android:textSize="30sp"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.496"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toBottomOf="@ id/passwordED" /gt; lt;/androidx.constraintlayout.widget.ConstraintLayoutgt;  
 12-13 13:25:05.453 11690-11690/? I/art: Not late-enabling -Xcheck:jni (already on) 12-13 13:25:05.618 11690-11690/com.example.firebaseintro W/System: ClassLoader referenced unknown path: /data/app/com.example.firebaseintro-1/lib/x86 12-13 13:25:05.738 11690-11690/com.example.firebaseintro I/FirebaseApp: Device unlocked: initializing all Firebase APIs for app [DEFAULT] 12-13 13:25:05.767 11690-11690/com.example.firebaseintro I/FirebaseInitProvider: FirebaseApp initialization successful 12-13 13:25:06.088 11690-11690/com.example.firebaseintro W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.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 12-13 13:25:06.153 11690-11716/com.example.firebaseintro I/FirebaseAuth: [FirebaseAuth:] Preparing to create service connection to fallback implementation 12-13 13:25:06.603 11690-11722/com.example.firebaseintro D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true 12-13 13:25:06.648 11690-11690/com.example.firebaseintro D/MainActivity: User Signed Out 12-13 13:25:06.719 11690-11722/com.example.firebaseintro I/OpenGLRenderer: Initialized EGL, version 1.4 12-13 13:25:06.719 11690-11722/com.example.firebaseintro W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... 12-13 13:25:06.744 11690-11722/com.example.firebaseintro D/EGL_emulation: eglCreateContext: 0xae424780: maj 3 min 1 rcv 4 12-13 13:25:06.750 11690-11722/com.example.firebaseintro D/EGL_emulation: eglMakeCurrent: 0xae424780: ver 3 1 (tinfo 0xae43e4f0) 12-13 13:25:06.754 11690-11722/com.example.firebaseintro E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da 12-13 13:25:06.754 11690-11722/com.example.firebaseintro E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf 12-13 13:25:06.755 11690-11722/com.example.firebaseintro E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824 12-13 13:25:07.221 11690-11722/com.example.firebaseintro D/EGL_emulation: eglMakeCurrent: 0xae424780: ver 3 1 (tinfo 0xae43e4f0) 12-13 13:25:07.844 11690-11690/com.example.firebaseintro I/Choreographer: Skipped 68 frames! The application may be doing too much work on its main thread. 12-13 13:25:08.185 11690-11722/com.example.firebaseintro D/EGL_emulation: eglMakeCurrent: 0xae424780: ver 3 1 (tinfo 0xae43e4f0) 12-13 13:25:08.228 11690-11722/com.example.firebaseintro D/EGL_emulation: eglMakeCurrent: 0xae424780: ver 3 1 (tinfo 0xae43e4f0) 12-13 13:25:08.247 11690-11722/com.example.firebaseintro D/EGL_emulation: eglMakeCurrent: 0xae424780: ver 3 1 (tinfo 0xae43e4f0) 12-13 13:25:08.338 11690-11722/com.example.firebaseintro V/RenderScript: 0xa12c9000 Launching thread(s), CPUs 2 12-13 13:25:08.725 11690-11722/com.example.firebaseintro D/EGL_emulation: eglMakeCurrent: 0xae424780: ver 3 1 (tinfo 0xae43e4f0) 12-13 13:25:10.169 11690-11722/com.example.firebaseintro E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaaa8b2c0  

Комментарии:

1. Что именно в этом коде работает не так, как вы ожидаете? Расскажите нам, что не так с общим кодом. Есть ли у вас какие-либо ошибки?

2. Привет, спасибо за ваш ответ, код работает нормально, но когда я его запускаю и получаю экран входа в систему для электронной почты и пароля, это раздел, который ничего не делает, независимо от того, что я туда помещаю, я не получаю свой тост, отображаемый на экране

3. Есть ли что-то из onDataChange этого или onCancelled даже сработало?

4. не похоже, что они срабатывают

5. также добавлен logcat