2016-11-04 2 views
-3

Ich speichere Objekte mit Zeitstempel in der Datenbank (Realm).Holen Sie sich alle Daten aus der Datenbank

public class Met extends RealmObject{ 
    private String name; 
    private int met; 
    private long timestamp; 
} 

Ich möchte sie Datum weisen, wie Gruppierung nach Datum.

Da es ein Timestamp ist und für Zeilen desselben Tages unterschiedlich sein wird, kann ich es nicht zur Arbeit bringen.

Das kommt aus dem Backend und ich kann es nicht bis heute ändern.

Die einzige Idee, die ich habe, ist ein zusätzliches Datumsfeld hinzuzufügen, so dass es leicht abzufragen wäre.

Gibt es eine Möglichkeit, dies auf Abfrageebene ohne zusätzliche Felder zu erreichen?

+0

es meist wie Datenbank-Frage sieht, sollten Sie auch das Schema der Tabelle geben. – Mritunjay

+0

@Mritunjay Ich benutze Realm, ich habe die Frage aktualisiert. – Housefly

Antwort

0

Um am selben Tag abzufragen, könnten Sie problemlos eine Abfrage einrichten, die zwischen dem Beginn des Tages und dem Beginn des nächsten Tages abfragt.

public class Met extends RealmObject { 
    private String name; 
    private int met; 
    @Index 
    private long timestamp; 
} 

Und

Date startOfDay = //...get start of day 
Date startOfNextDay = //... get start of next day; 
RealmResults<Met> mets = realm.where(Met.class) 
           .greaterThanOrEqualTo(MetFields.TIMESTAMP, startOfDay.getTime()) 
           .lessThan(MetFields.TIMESTAMP, startOfNextDay.getTime()) 
           .findAllSorted(MetFields.TIMESTAMP, Sort.ASCENDING); 
Verwandte Themen