Android 尝试填充listview时Firebase API初始化失败

Android 尝试填充listview时Firebase API初始化失败,android,firebase,android-studio,firebase-realtime-database,Android,Firebase,Android Studio,Firebase Realtime Database,我正在尝试制作一个消息传递应用程序,并尝试从我的数据库中获取一个用户列表以填充listview。这个错误以前在我尝试运行应用程序时从未发生过。每次我转到listview活动时,应用程序都会崩溃,并出现以下错误。由于某些原因,我得到了这个错误(Logcat): 以下是我的ListView活动代码: package com.example.paen3.mychatapp; import android.content.Intent; import android.os.Bundle; im

我正在尝试制作一个消息传递应用程序,并尝试从我的数据库中获取一个用户列表以填充listview。这个错误以前在我尝试运行应用程序时从未发生过。每次我转到listview活动时,应用程序都会崩溃,并出现以下错误。由于某些原因,我得到了这个错误(Logcat):

以下是我的ListView活动代码:

    package com.example.paen3.mychatapp;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.firebase.ui.auth.data.model.User;
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;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by paen3 on 8/12/2018.
 */


public class AllUsersActivity extends AppCompatActivity {


    FirebaseAuth mAuth;
    FirebaseDatabase database;
    DatabaseReference ref;
    ListView listView;
    ArrayList<String> list;
    ArrayAdapter<String> adapter;
    AllUsers user;



    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all_users);
        user = new AllUsers();
        listView = (ListView) findViewById(R.id.listViewUsers);
        database = FirebaseDatabase.getInstance();
        ref = database.getReference("user");
        list = new ArrayList<>();
        adapter = new ArrayAdapter<String>(this,R.layout.all_user_display_layout,R.id.all_users_email, list);
        ref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                for(DataSnapshot ds: dataSnapshot.getChildren()){
                    user = ds.getValue(AllUsers.class);
                    list.add(user.getUser_email());
                }
                listView.setAdapter(adapter);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.main_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        if(item.getItemId() == R.id.main_logout_button){
            mAuth.signOut();
            LogOutUser();

        }
        return true;
    }


    private void LogOutUser() {
        Intent LoginIntent = new Intent(AllUsersActivity.this, MainActivity.class);
        LoginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(LoginIntent);
        finish();
    }

}
package com.example.paen3.mychatapp;
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.annotation.NonNull;
导入android.support.annotation.Nullable;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.LinearLayoutManager;
导入android.support.v7.widget.RecyclerView;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
导入com.firebase.ui.auth.data.model.User;
导入com.google.firebase.auth.FirebaseAuth;
导入com.google.firebase.auth.FirebaseUser;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseError;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
导入java.util.ArrayList;
导入java.util.List;
/**
*paen3于2018年8月12日创建。
*/
公共类AllUsersActivity扩展了AppCompativity活动{
FirebaseAuth mAuth;
Firebase数据库;
数据库参考文献;
列表视图列表视图;
数组列表;
阵列适配器;
诱惑者用户;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u所有用户);
用户=新的用户();
listView=(listView)findViewById(R.id.listViewUsers);
database=FirebaseDatabase.getInstance();
ref=database.getReference(“用户”);
列表=新的ArrayList();
适配器=新阵列适配器(此,R.layout.all\u user\u display\u layout,R.id.all\u users\u email,list);
ref.addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
对于(DataSnapshot ds:DataSnapshot.getChildren()){
user=ds.getValue(AllUsers.class);
list.add(user.getUser_email());
}
setAdapter(适配器);
}
@凌驾
已取消的公共void(@NonNull DatabaseError DatabaseError){
}
});
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
super.onCreateOptions菜单(菜单);
getMenuInflater().充气(右菜单.主菜单,菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
super.onOptionsItemSelected(项目);
if(item.getItemId()==R.id.main\u注销按钮){
mAuth.signOut();
LogOutUser();
}
返回true;
}
私有void LogOutUser(){
Intent LoginIntent=新的Intent(AllUsersActivity.this、MainActivity.class);
LoginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(登录);
完成();
}
}

请添加build.gradle文件的内容。您可以在此处找到答案:[Firebase API初始化失败]()
    package com.example.paen3.mychatapp;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.firebase.ui.auth.data.model.User;
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;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by paen3 on 8/12/2018.
 */


public class AllUsersActivity extends AppCompatActivity {


    FirebaseAuth mAuth;
    FirebaseDatabase database;
    DatabaseReference ref;
    ListView listView;
    ArrayList<String> list;
    ArrayAdapter<String> adapter;
    AllUsers user;



    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all_users);
        user = new AllUsers();
        listView = (ListView) findViewById(R.id.listViewUsers);
        database = FirebaseDatabase.getInstance();
        ref = database.getReference("user");
        list = new ArrayList<>();
        adapter = new ArrayAdapter<String>(this,R.layout.all_user_display_layout,R.id.all_users_email, list);
        ref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                for(DataSnapshot ds: dataSnapshot.getChildren()){
                    user = ds.getValue(AllUsers.class);
                    list.add(user.getUser_email());
                }
                listView.setAdapter(adapter);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.main_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        if(item.getItemId() == R.id.main_logout_button){
            mAuth.signOut();
            LogOutUser();

        }
        return true;
    }


    private void LogOutUser() {
        Intent LoginIntent = new Intent(AllUsersActivity.this, MainActivity.class);
        LoginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(LoginIntent);
        finish();
    }

}