如何在基于Android Firebase聊天的应用程序上orderByChild?
我正在尝试构建一个用户对用户的聊天应用程序,但无法按发送的最后一条消息排序聊天列表 我的Firebase(实时)结构如下: 我试图像这样检索数据,但我无法在内部消息中按“时间戳”排序如何在基于Android Firebase聊天的应用程序上orderByChild?,android,list,firebase,firebase-realtime-database,chat,Android,List,Firebase,Firebase Realtime Database,Chat,我正在尝试构建一个用户对用户的聊天应用程序,但无法按发送的最后一条消息排序聊天列表 我的Firebase(实时)结构如下: 我试图像这样检索数据,但我无法在内部消息中按“时间戳”排序 final String uID = firebaseAuth.getCurrentUser().getUid(); Query ref = FirebaseDatabase.getInstance().getReference("Messages"); ref.orderByChild("timestamp")
final String uID = firebaseAuth.getCurrentUser().getUid();
Query ref = FirebaseDatabase.getInstance().getReference("Messages");
ref.orderByChild("timestamp").startAt(uID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
有人知道我如何根据最后一条消息的时间戳对用户列表进行排序吗?您需要将查询更改为以下内容:
final String uID = firebaseAuth.getCurrentUser().getUid();
Query ref = FirebaseDatabase.getInstance().getReference("Messages");
ref.child(uID_uID).orderByChild("timestamp").addValueEventListener(new ValueEventListener() {
您需要访问节点
Messages
下的直接节点,该节点带有下划线。然后,您可以添加orderByChild(“timestamp”).equalTo(“157644739279”)
,但我无法访问此子项(uID\u uID),因为在我的数据库中,第一个ID是发送消息的用户,第二个ID是接收消息的用户,因此我在该查询中始终得到空值。