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 !!! 如果你能给出一个小例子,这个例子最后会列出数据列表,产品类别的值和另一个列表中的各个键值,那么我会对所有人有很大的帮助。 –