Sau*_*kar 3 android linkedhashmap firebase firebase-realtime-database
我想要什么?
我想从Firebase数据库中按插入顺序检索对象列表。
如何将对象添加到Firebase数据库中的列表?
mRefUser.push()。setValue(new MessageItem());
mRefUser.push()。setValue(new MessageItem());
。
。
mRefUser.push()。setValue(new MessageItem());
如何添加?
Firebase将每个对象存储为HashMap中的键值对。
我如何检索这些值?
mFireBaseRefnew.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
final Map<String, MessageItem> messageMap = new LinkedHashMap<String, MessageItem>();
if (dataSnapshot != null && dataSnapshot.getValue() != null) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
HashMap<String,MessageItem> messageMap = (HashMap<String, MessageItem>) postSnapshot.getValue();
Collection<MessageItem> messageItems = messageMap.values() ;
List<MessageItem> messageItemList = new ArrayList<MessageItem>();
messageItemList.addAll(messageItems);
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
Run Code Online (Sandbox Code Playgroud)
我得到什么?
最后说明:-
哈希键是随机的。有什么方法可以获取链接的哈希图而不是哈希图。我不想存储密钥,因为数据库保持顺序,应该有一些方法可以使它们保持相同的顺序,但是我不知道如何获取它们。
您阅读过文档吗?数据键是基于时间戳的,因此它们按时间排序。要获得排序查询,必须orderByKey()在数据库引用上使用。有关它的更多信息https://firebase.google.com/docs/database/android/retrieve-data#sorting_and_filtering_data
| 归档时间: |
|
| 查看次数: |
5865 次 |
| 最近记录: |