Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从google firebase(android)获取数据_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

从google firebase(android)获取数据

从google firebase(android)获取数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我使用firebase存储数据,但无法获取数据列表 从firabse,我特别想得到person对象的arraylist。 这是班长 public class Person { private String name; private String username; public Person() { } public Person(String name, String username) { this.name = name; this.username = usern

我使用firebase存储数据,但无法获取数据列表 从firabse,我特别想得到person对象的arraylist。 这是班长

public class Person {

private String name;
private String username;

public Person() {
}

public Person(String name, String username) {
    this.name = name;
    this.username = username;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}
}

这里是数据结构


您可以使用任何事件侦听器获取数据。下面是使用子事件侦听器的示例

List<Person> persons = new ArrayList<>(); 

ChildEventListener listener = new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
               Person person = dataSnapshot.getValue(Person.class);
               persons.add(person);

            }

            @Override
            public void onChildChanged(DataSnapshot dataSnapshot, String s) {


            }

            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot) {
                Person person = dataSnapshot.getValue(Person.class);
                persons.remove(person);

            }

            @Override
            public void onChildMoved(DataSnapshot dataSnapshot, String s) {


            }

            @Override
            public void onCancelled(DatabaseError databaseError) {


            }
        };

        FirebaseDatabase.getInstance().getReference().child("persons").addChildEventListener(listener);
List persons=new ArrayList();
ChildEventListener=新的ChildEventListener(){
@凌驾
公共void onChildAdded(DataSnapshot DataSnapshot,字符串s){
Person-Person=dataSnapshot.getValue(Person.class);
人。添加(人);
}
@凌驾
公共void onChildChanged(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
ChildRemoved上的公共void(DataSnapshot DataSnapshot){
Person-Person=dataSnapshot.getValue(Person.class);
人。移除(人);
}
@凌驾
已移动ChildMoved上的公共void(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
};
FirebaseDatabase.getInstance().getReference().child(“人员”).addChildEventListener(监听器);

您可以使用任何事件侦听器获取数据。下面是使用子事件侦听器的示例

List<Person> persons = new ArrayList<>(); 

ChildEventListener listener = new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
               Person person = dataSnapshot.getValue(Person.class);
               persons.add(person);

            }

            @Override
            public void onChildChanged(DataSnapshot dataSnapshot, String s) {


            }

            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot) {
                Person person = dataSnapshot.getValue(Person.class);
                persons.remove(person);

            }

            @Override
            public void onChildMoved(DataSnapshot dataSnapshot, String s) {


            }

            @Override
            public void onCancelled(DatabaseError databaseError) {


            }
        };

        FirebaseDatabase.getInstance().getReference().child("persons").addChildEventListener(listener);
List persons=new ArrayList();
ChildEventListener=新的ChildEventListener(){
@凌驾
公共void onChildAdded(DataSnapshot DataSnapshot,字符串s){
Person-Person=dataSnapshot.getValue(Person.class);
人。添加(人);
}
@凌驾
公共void onChildChanged(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
ChildRemoved上的公共void(DataSnapshot DataSnapshot){
Person-Person=dataSnapshot.getValue(Person.class);
人。移除(人);
}
@凌驾
已移动ChildMoved上的公共void(DataSnapshot DataSnapshot,字符串s){
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
};
FirebaseDatabase.getInstance().getReference().child(“人员”).addChildEventListener(监听器);

Ugur B答案也是正确的。在这里,您也可以使用ValueEventListener获取firebase数据

 ArrayList<String> arrayListVal = new ArrayList<String>();
 fbref.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot snapshot) {

                    for (DataSnapshot postSnapshot : snapshot.getChildren()) {


                        Person person = postSnapshot.getValue(Person.class);

                        //Adding it to a ArrayList 
                        arrayListVal.add(person);

                    }
                }

                @Override
                public void onCancelled(FirebaseError firebaseError) {
                    System.out.println("Failed to fetch data: " + firebaseError.getMessage());
                }
            });
ArrayList arrayListVal=new ArrayList();
fbref.addValueEventListener(新的ValueEventListener(){
@凌驾
公共无效onDataChange(数据快照快照){
对于(DataSnapshot postSnapshot:snapshot.getChildren()){
Person-Person=postSnapshot.getValue(Person.class);
//将其添加到ArrayList
arrayListVal.add(人);
}
}
@凌驾
取消后的公共无效(FirebaseError FirebaseError){
System.out.println(“未能获取数据:+firebaseError.getMessage());
}
});

Ugur B答案也是正确的。在这里,您也可以使用ValueEventListener获取firebase数据

 ArrayList<String> arrayListVal = new ArrayList<String>();
 fbref.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot snapshot) {

                    for (DataSnapshot postSnapshot : snapshot.getChildren()) {


                        Person person = postSnapshot.getValue(Person.class);

                        //Adding it to a ArrayList 
                        arrayListVal.add(person);

                    }
                }

                @Override
                public void onCancelled(FirebaseError firebaseError) {
                    System.out.println("Failed to fetch data: " + firebaseError.getMessage());
                }
            });
ArrayList arrayListVal=new ArrayList();
fbref.addValueEventListener(新的ValueEventListener(){
@凌驾
公共无效onDataChange(数据快照快照){
对于(DataSnapshot postSnapshot:snapshot.getChildren()){
Person-Person=postSnapshot.getValue(Person.class);
//将其添加到ArrayList
arrayListVal.add(人);
}
}
@凌驾
取消后的公共无效(FirebaseError FirebaseError){
System.out.println(“未能获取数据:+firebaseError.getMessage());
}
});