能够在android中从Firebase数据库检索数据,但仅限于单个用户

能够在android中从Firebase数据库检索数据,但仅限于单个用户,android,firebase,Android,Firebase,因为我能够从Firebase中检索数据,但只针对android中的单用户数据库。 我只想从我插入firebase的数据库中获取数据,而无需用户身份验证登录 我在logcat中遇到错误: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference 这是我的密码: import an

因为我能够从Firebase中检索数据,但只针对android中的单用户数据库。 我只想从我插入firebase的数据库中获取数据,而无需用户身份验证登录

我在logcat中遇到错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
这是我的密码:

import android.os.Bundle;

import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
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;

public class ViewDatabase extends AppCompatActivity {
 private static final String TAG = "ViewDatabase";

 private DatabaseReference databaseReference;
 private String userID;

 private ListView mListView;

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

  mListView = (ListView) findViewById(R.id.listview);
  databaseReference = FirebaseDatabase.getInstance().getReference();



  databaseReference.addValueEventListener(new ValueEventListener() {
   @Override
   public void onDataChange(DataSnapshot dataSnapshot) {
    showData(dataSnapshot);
   }

   @Override
   public void onCancelled(DatabaseError databaseError) {

   }
  });

 }

 private void showData(DataSnapshot dataSnapshot) {
  userinfo user = dataSnapshot.getValue(userinfo.class);

  Log.d(TAG, "showData: name: " + user.getName());
  Log.d(TAG, "showData: Mobile: " + user.getMob());
  Log.d(TAG, "showData: Vehicle: " + user.getVehicle());
  Log.d(TAG, "showData: Address: " + user.getaddress());

  ArrayList < String > array = new ArrayList < > ();
  array.add(user.getName());
  array.add(user.getMob());
  array.add(user.getVehicle());
  array.add(user.getaddress());
  ArrayAdapter adapter = new
  ArrayAdapter(this, android.R.layout.simple_list_item_1, array);
  mListView.setAdapter(adapter);
 }


}

使用迭代器,您将能够实现这一点

 public void onDataChange(DataSnapshot dataSnapshot) {
                  for(DataSnapshot data: dataSnapshot.getChildren()){
                userinfo  user = data.getValue(userinfo.class);
                Log.d(TAG, "User name: " + user.getName() + ", mobile: " 
     + user.getMob() + ", Vehicle " + user.getVehicle() + ", Address " + 
     user.getAdd());}
            }

使用迭代器,您将能够实现这一点

 public void onDataChange(DataSnapshot dataSnapshot) {
                  for(DataSnapshot data: dataSnapshot.getChildren()){
                userinfo  user = data.getValue(userinfo.class);
                Log.d(TAG, "User name: " + user.getName() + ", mobile: " 
     + user.getMob() + ", Vehicle " + user.getVehicle() + ", Address " + 
     user.getAdd());}
            }
请调查一下,请调查一下