如何在Firebase中获取用户数作为计数在android TextView中

最是人间留不住,朱颜辞镜花辞树。这篇文章主要讲述如何在Firebase中获取用户数作为计数在android TextView中相关的知识,希望能为你提供帮助。
【如何在Firebase中获取用户数作为计数在android TextView中】
根据图片,数据库有一个用户,因此它应该在loginactivity角落的textview中给出1号,根据新用户条目它应该增加
答案尝试以下代码,如果您希望计数每次都增加,当数据库中的新用户输入时,最好使用ChildEventListener

int studentCounter = 0; // declare int variableTextView tv_counter = (TextView) findViewById(R.id.tv_counter); DatabaseReference mDatabaseReference = FirebaseDatabase.getInstance().getReference().child("student"); mDatabaseReference.addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s) {studentCounter = studentCounter + 1; //Convert counter to string String strCounter = String.valueOf(studentCounter); //Showing the user counter in the textview tv_counter.setText(strCounter); }@Override public void onChildChanged(DataSnapshot dataSnapshot, String s) {}@Override public void onChildRemoved(DataSnapshot dataSnapshot) {}@Override public void onChildMoved(DataSnapshot dataSnapshot, String s) {}@Override public void onCancelled(DatabaseError databaseError) {} });

另一答案试试这个。使用这个我的答案是1名学生。但我只读了一次。如果我添加其他学生,则在活动更新之前,计数器不会更改。
TextView yourTextView = (TextView) findViewById(R.id.yourTextView); Database database = FirebaseDatabase.getInstance(); DatabaseReferencestudentsRef = database.getReference("student"); studentsRef.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) {int counter = (int) dataSnapshot.getChildrenCount(); //Convert counter to string String userCounter = String.valueOf(counter); //Showing the user counter in the textview yourTextView.setText(userCounter); }@Override public void onCancelled(DatabaseError databaseError) {} });

但是如果你想拥有实时计数器,你应该将addListenerForSingleValueEvent改为addValueEventListener,就像这样......
studentsRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) {int counter = (int) dataSnapshot.getChildrenCount(); //Convert counter to string String userCounter = String.valueOf(counter); //Showing the user counter in the textview yourTextView.setText(userCounter); }@Override public void onCancelled(DatabaseError databaseError) {} });

使用最后一个代码,当我进入一个新学生时,我的计数器将立即更改,如果我删除了一个学生,我的计数器也会立即改变。

    推荐阅读