2016-07-11 7 views
7

は...Firebaseデータベースからデータを降順で取り出す方法は?私は私のプロジェクトでそれを必要とするため、新しいfirebaseデータベースがこの機能を追加した場合、私は思っていた

構造は

enter image description here

..次のようになりますし、yaは文句を言わない作業を逆にRecyclerViewを設定しますなぜなら、その原因はそれが底から始まるからです。

ソリューション

だから、これは私が、おそらく今of..For考えることができる最適なソリューションです。

@Frankは、これは重複している可能性があると言いましたが、私は最初に彼の助けを借りて解決しました。

ので、私たちにできることはタイムスタンプが負

-20164846476589すなわち、その後、(今の私たちがoffcourse超えするつもりはありません)999999999999999Lのようないくつかのより高い値でそれを減算し、次に何を作るれます我々取得は、新しいタイムスタンプ

の最安降順値になりますと、データが自動的にFirebase

すなわち

に下降されるだろう
String NewDescTimeStamp= String.valueOf((9999999999999L+(-1 * PreviousTimestamp))); 

mFirebaseRef.child(NewDescTimeStamp).setValue(true); 
+1

これは既に何度もカバーされています。結果をクライアント側で取り消すか、逆の値を持つプロパティをデータに追加する必要があります。 [この回答](http://stackoverflow.com/questions/34156996/firebase-data-desc-sorting-in-android/34158197#34158197)または[このリストの結果]を参照してください(http:// stackoverflow .com/search?q =%5Bファイアベースデータベース%5D +降順) –

+0

http://stackoverflow.com/a/42572025/2149195 – RBK

答えて

13

既存のAPIを使用することはできません。あなたが発注のいずれかを使用することができます limitToFirst()、limitToLast()、startAt()、ENDAT()も

あなたは子供の既知の数を取得するには、次のいずれかの方法を使用することができます方法: orderByChild()、orderByValue()、orderByKey()

) (このようなArrayListのような)データ構造に保管し、彼らと、その後の使用java.util.Collections.reverse(よりリストを逆にします。

firebaseでは、クエリロジックのクライアントサイドのいくつかを実行する必要があります。 SQLで利用できるすべての操作がFirebaseで利用できるわけではありません。

+4

私はデータを最初に保存する必要があります。今すぐ –

+0

Yap。ほとんどの場合、サーバー上でフィルタリングし、クライアント上で残りの作業を行います。 – TomerBu

+0

これは私がやりたかったことです –

関連する問題

 関連する問題