Android - Firebase

时间:2017-09-27 09:19:16

标签: android firebase firebase-realtime-database

我正在使用Firebase开发一个简单的Android应用程序。我想在不使用电子邮件和密码验证的情况下将用户保存在实时数据库中。我只是希望他们的名字和他们的角色(例如老师和学生)被radiobuttons选中。后来我想在列表中显示所有用户,但我想知道如何设置数据库以及如何根据他们的角色显示正确的活动

应该是:

User
 "something"
   username: "name"
   role: "Teacher"

User
  "KA2aslkdajsdlsad"
    username: "name"
    role: "teacher"

2 个答案:

答案 0 :(得分:2)

当然你需要使用第二个选项。您需要为所有这些用户使用唯一标识符。为了获得新的唯一键(基于时间),我使用push()方法重新命名。它也完全在客户端生成,无需咨询服务器。

另一方面,我使用Firebase Anonymous Authentication重新命令你。

希望它有所帮助。

答案 1 :(得分:2)

首先,根据您的用户信息创建一个POJO java对象。

FirebaseDatabase.getInstance()
            .getReference()
            .child("users")
            .push()
            .setValue(new User("John", 1));

现在将您的用户存储在实时数据库中,如:

final List<User> userList = new ArrayList<>();
FirebaseDatabase.getInstance()
            .getReference()
            .child("users")
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                    for (DataSnapshot snapshot : dataSnapshot.getChildren()){
                        User user = snapshot.getValue(User.class); // this is your user
                        userList.add(user); // add to list
                    }
                    // Now may be display all user in listview
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

如果您需要获取所有用户,可以这样做:

http://php.net/manual/en/function.readfile.php