2017-03-22 13 views
0

私はLinkedHashMapをループしてFirebaseパスの下に値を設定するアンドロイドアプリケーションを持っていますが、Firebaseがキーをアルファベット順に並べるようですそれらは場所の下Firebaseがキーの挿入によるソートを防止します

for (Map.Entry<String, Object> entry : itemList.entrySet()) 
{ 
    Log.v("itemlist", entry.getKey()); 
    String key = entry.getKey(); 
    Object value = entry.getValue(); 

    // now work with key and value... 
    mItemsReference.child(itemName).child(key).setValue(value); 
} 

に挿入された私は、このような名称、価格、上記のコードを実行している上に、その後のLinkedHashMapあるitemListの中に記述のようにエントリを持っている場合、私は次の順序でノードがある - 説明、名前、価格は、挿入された順番ではなく、アルファベット順で表示されます。広告掲載オーダーを維持する方法はありますか?

答えて

2

FirebaseはJSONデータベースです。 JSONオブジェクト内のキーの順序は指定されていません。しかしFirebase(ほとんどのJSONシリアライザ)では、デフォルトでアルファベット順にキーが表示されます。特定の順序でキーが必要な場合は、その順序を維持する使用キー(例:using Firebase push IDs)またはretrieve the items with a queryを使用する必要があります。

+0

答えてくれてありがとうございました。私は、各フィールドのインクリメントカウンタでsetPriorityメソッドを使用して、ファイアベースに挿入された順番でキーを保存させました – nino

関連する問題