Retrieve user data from Firebase database

情到浓时终转凉″ 提交于 2019-12-14 03:44:44

问题


I have created an Android App By which user can register and login.When a user registration is successful a Name and value will created in my database for that User. Now I want to retrieve The Data For every User separately.


回答1:


To retrieve the current user's data from this structure, you need two things:

  1. to know the uid of the current user
  2. to then read the data from the database

In code:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
FirebaseDatabase.getInstance.getReference(uid).addListenerForSingleValueEvent(new ValueEventListener() {

    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        long points = dataSnapshot.child("Points").getValue(Long.class);
     }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
});



回答2:


Try this:

 mDatabase.child("ezzeearn").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Map<String, String> map = (Map<String, String>) dataSnapshot.getValue();
            String point = map.get("Points");
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
});



回答3:


for using iterator you can get the data for specific user

Iterator<String> iter = json.keys();
while (iter.hasNext()) {
    String key = iter.next();
    try {
        Object value = json.get(key);
    } catch (JSONException e) {
        // Something went wrong!
    }
}



回答4:


Try to use below method :

     public void getAllUsersFromFirebase() {  
    DatabaseReference UserRef = FirebaseDatabase.getInstance().getReference().child("ezzeearn");
    UserRef.keepSynced(true);
    UserRef.addValueEventListener(new ValueEventListener() {
        @Override  
        public void onDataChange(DataSnapshot dataSnapshot) {
            Iterator<DataSnapshot> dataSnapshots = dataSnapshot.getChildren().iterator();

            while (dataSnapshots.hasNext()) {
                DataSnapshot dataSnapshotChild = dataSnapshots.next();
                String resultString = (String)dataSnapshotChild.getValue();


            }  

        }  

        @Override  
        public void onCancelled(DatabaseError databaseError) {
                // for handling database error            
        }  
    });  
}  


来源:https://stackoverflow.com/questions/44494430/retrieve-user-data-from-firebase-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!