Ich bin Anfänger in der Verwendung von sqlbrite, rxjava. Also, ich muss etwas Code auf einem UI-Thread ausführen (um genau einige Markierungen auf der Karte von einem Cursor hinzuzufügen, den ich von der aktualisierten db SELECT-Abfrage habe). Es gibt mir einen Fehler mit AndroidSchedulers.mainThread MethodeSqlBrite kann AndroidSchedulers.mainThread() nicht verwenden
query.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<SqlBrite.Query>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(SqlBrite.Query query) {
////add marker on a map from updated cursor select for latlng which I have in db
/// db is updated in some intervals from API
}
});
:
Hier ist mein Setup starten:
sqlBrite = new SqlBrite.Builder().build();
resolver = sqlBrite.wrapContentProvider(mContentResolver, Schedulers.io());
Observable<SqlBrite.Query> query = resolver.createQuery(SmogContract.MeasurementEntry.CONTENT_URI, null, null, null, null, true);
Jedoch, wenn ich dies machen wollen
observeOn (Rx.Scheduler) in Observable cannot be applied to io.reactivex.Scheduler
In meiner Größe habe ich dies in Verbindung mit sqlbrite, rxjava:
compile 'com.squareup.sqlbrite:sqlbrite:1.1.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
Und retroLambda. Wie man es richtig einrichtet? Ohne rxandroid und rxjava kann ich AndroidSchedulers.mainThread() nicht verwenden.
auf hinzufügen Dazu können Sie von einem RxJava1 Observable (das SQLBrite zurückgibt) zu einem RxJava2 gehen, das mit der Interop-Bibliothek beobachtbar ist: https://github.com/akarnokd/RxJava2Interop – Anstrong