java - Firebase 实时数据库删除前 20 个项目
问题描述
DatabaseReference newReferance = database.getReference().child("Users");
Query query = newReferance.orderByChild("timestamp");
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
chatMessages.clear();
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
HashMap<String, String> hashMap = (HashMap<String, String>) dataSnapshot1.getValue();
//String userMail = hashMap.get("useremail");
String userMessage = hashMap.get("usermessage");
String userCt = hashMap.get("usershow");
chatMessages.add(userCt + ": " + userMessage);
if (chatMessages.size() >= 10){
for (int i= 0; i < 5; i++){
//HOW ????
}
}
recyclerAdapter.notifyDataSetChanged();
}
}
嗨亲爱的伙计们。如何选择和删除实时数据库中的前 5 个数据?当 ArrayList 达到一定限制时,我想从数据库中删除前 5 个数据。如果您能帮助解决问题,我将不胜感激。
解决方案
final DatabaseReference newReferance = database.getReference().child("Users");
final Query query = newReferance.orderByChild("timestamp");
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
chatMessages.clear();
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
HashMap<String, String> hashMap = (HashMap<String, String>) dataSnapshot1.getValue();
//String userMail = hashMap.get("useremail");
String userMessage = hashMap.get("usermessage");
String userCt = hashMap.get("usershow");
chatMessages.add(userCt + ": " + userMessage);
if (chatMessages.size() >= 10){
Query query1 = newReferance.limitToFirst(5);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
database.getReference().child("Users").setValue(null);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
recyclerAdapter.notifyDataSetChanged();
}
}
虽然我已经设置好了,但它都被删除了。我无法删除我想要的项目。全部清零。
推荐阅读
- android - 没有为“StorageUploadTask”类型定义吸气剂“未来”
- html - 我需要 Css 中 flex:1 的帮助
- python - 如何修复 Anaconda 上没有名为“PolynomialRegression”的模块?
- javascript - 获取烧瓶返回语句javascript
- c# - WPF 自定义控件:ViewBox 上的 HorizontalAlignment 样式设置未正确初始化
- react-native - 新手在这里... Firebase 和 AsyncStorage 问题
- java - ArrayList 递归行为
- php - 如何在 Laravel Excel 中格式化日期?
- python-3.x - 使用 Heroku 部署 Django 应用程序的问题
- javascript - 在 Echarts 中为自定义系列类型添加滚动条