To jest mój model danych.Sortowanie i limit Firebase - obserwator nie nazywa się
project-foo
-posts
-KLs123412341234
key: "-KLs123412341234"
message: "free cupcakes"
time: 1467675688163
-...
key: "..."
message: "..."
time: ...
Chciałbym tylko pobierać posty w ciągu ostatnich 15 minut. Widzę, że dodano do moich dzieci konsoli Firebase Console, ale problem polega na tym, że obserwator nie wydaje się być wywoływany - "hello"
nie jest drukowany.
My iOS ma następujący kod, który nie robi się powołać:
class ViewController: UIViewController {
var ref: FIRDatabaseReference?
override func viewDidLoad() {
super.viewDidLoad()
ref = FIRDatabase.database().reference()
ref!.queryOrderedByChild("time")
.queryStartingAtValue(startTime())
.observeEventType(.ChildAdded, withBlock: { snapshot in
print("hello")
})
}
}
Moja aplikacja Android ma następujący kod, który robi się powoływać:
Query query = mDatabase.orderByChild("time").startAt((double)startTime());
query.addChildEventListener(new PostListener(this, mMap));
class PostListener implements ChildEventListener {
public PostListener(Context context, GoogleMap map) {
...
}
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.i(TAG, "hello");
...
}
}
Aktualizacja: Mój błąd nie zdał sobie sprawy, że zainicjowałem mDatabase
(w Androidzie ve rsion) ze ścieżką posts
. Poprawka polegała po prostu na zainicjowaniu ref
z FIRDatabase.database().referenceWithPath("posts")
zamiast FIRDatabase.database().reference()
.
Co startTime() wygląda? –
Testowałem z ustawieniem go na zero i to nie pomogło. – lf215
Co to jest ref? ... – Dravidian