q = FirebaseDatabase.getInstance().getReference().child("products").orderByChild("timestamp");
q.addValueEventListener(new ValueEventListener() {
@Override
public void onCancelled(DatabaseError databaseError) {
}
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("datasnapshot", dataSnapshot.toString());
該值是在相同的順序我的火力地堡的數據庫。
注意:我使用負值方法{ -1 * new Date().getTime();}
來存儲時間戳。
該值是在相同的順序我的火力地堡數據庫:
Ke7K4vXyEt4gKnjf68H
時間戳:-1488345920790
Ke7KB2F1UKh8LoWcCY3
時間戳:-1488345945825
KeHlQIBnOE3diP8Wksh
時間戳:-1488521122407
KeI9nJtt4eg5Vd0rcAv
時間戳:-1488527774123
KeWwWW_ezG-cjmF8TNO
時間戳:-1488775680799
KeX7G0WOVidrMBbuGiT
時間戳:-1488778758960
Keg3mtNpyKStpVMMvRm
時間戳:-1488945623757
Keg4fN3rAN7uy5weFJz
時間戳:-1488945855094
以下順序是我所得到的,當我打印datasnapshot:
KeX7G0WOVidrMBbuGiT
t imestamp:-1488778758960
Keg3mtNpyKStpVMMvRm
時間戳:-1488945623757
Keg4fN3rAN7uy5weFJz
時間戳:-1488945855094
Ke7K4vXyEt4gKnjf68H
時間戳:-1488345920790
KeWwWW_ezG-cjmF8TNO
時間戳:-1488775680799
KeHlQIBnOE3diP8Wksh
時間戳: - 1488521122407
Ke7KB2F1UKh8LoWcCY3
時間戳:-1488345945825
KeI9nJtt4eg5Vd0rcAv
時間戳:-1488527774123
的HashMap <字符串,產品> HASHMAP =新的HashMap <字符串,製品>(); 爲(DataSnapshot jobSnapshot:dataSnapshot.getChildren()){ 產品作業= jobSnapshot.getValue(products.class); hashMap.put(jobSnapshot.getKey(),job); } Log.d(「Hashmap」,hashMap.toString()); 即使這返回了相同的順序:( –
如上所述:一個Map是無序的,所以你使用的HashMap也是無序的如果你想要一個包含鍵和值的有序版本,可以使用一個'List '。 –
非常感謝你Puf !!! 如果你能給出一個小例子,這個例子最後會列出數據列表,產品類別的值和另一個列表中的各個鍵值,那麼我會對所有人有很大的幫助。 –