我有一个应用程序,其中一对设备可以相互通信,但通信成功发生,但是当它们读取彼此放置的数据时,它将自动删除所有创建的Firebase实时条目,最后一个除外。< / p>
仅通过阅读它们就可以实现这种情况,我的意思是我有这样的代码:
FirebaseDatabase.getInstance().getReference().child("Chat").child("id").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
(Use the snapshot and nothing else)
由于某种原因,它似乎最终删除了原始条目。
任何终端都不会读取的条目,只要它们不是故意删除的,它们总是一直保留在firebase中,所以看起来好像是读取部分中的错误。
我该怎么办,以便在发生读取操作时所有我不想删除的邮件都保留下来?
答案 0 :(得分:0)
FirebaseDatabase.getInstance().getReference().child("Chat").child("id").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot ds, @Nullable String s) {
Message value = ds.getValue(Message.class);
messageEntries.add(value);
adapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});