【android – 用Dagger 2和RxJava2包装SharedPreferences】教程文章相关的互联网学习教程文章

android-使用rxjava2遍历列表【代码】

我有一个自定义对象列表(List< Item> itemsList).这是我的自定义课程:public class Item {private String itemId;private String itemName; }初始列表只有itemName; itemId将为空.我想遍历列表,为每个项目添加一个itemId,然后使用新列表,我需要对列表中的每个项目进行某种长时间的操作.for(Item item : itemsList){ item.setitemId = getUniqueId(); //getUniqueId() returns an unique id doSomeLongOperation(item); }我是rxja...

Android Room中的交易与RxJava2【代码】

我的应用程序的一个要求是允许用户进行多个步骤,然后在完成时根据每个步骤中的条目将值写入数据库. UI中的每个步骤都可能有助于需要写入数据库的操作.数据可以在多个表中,并且属于这些表中的不同行.如果任何数据库操作失败,则整个操作应该失败. 我最初考虑将所有数据加载到内存中,操作它,然后简单地在每个可能的实体中调用更新方法(冲突策略为REPLACE),但内存中可能存在极大量的数据. 我认为我可以组装一个List,其中显示中的每个Fr...

android – RxJava2如何将Single链接到Completable,以便在Completable完成时获得订阅【代码】

如何将Single链接到Completable,以便在Completable完成时获得订阅? repository.downloadUser()是Single. 基于调试,似乎调用此方法中的Single但从未订阅(即,调用downloadUser()方法,但调用它所创建的Single内的代码). 问题是,如何使用原始订阅者获取repository.downloadUser()Single在链中订阅?我错过了什么或做错了什么?或者这不可能吗?fun login(username: String, password: String): Completable { return repository.lo...

android – 用Dagger 2和RxJava2包装SharedPreferences【代码】

我是否需要包装Android SharedPreferences类?如果是的话,能否请您提供一个简单的工作示例? 我知道如何使用SharedPreferences,但是当涉及到包装它并提供Dagger 2和RxJava2时,我很困惑.解决方法:我通常只使用名为LocalStorage的接口或类似的东西来包装它.然后将一个Context注入实现并像往常一样实现您的SharedPreferences.如果你想使用Rx,只需确保你的接口方法返回Observables. 然后,只要你需要使用SharedPeferences,只需注入一个L...

android – RxJava2将Flowable转换为Single【代码】

如何将Flowable转换为Single?或者,如果有另一种方法使其在第一个感兴趣的响应之后停止发光. 我试过这个,但它似乎不起作用:disposables.add(repository.getAllSomethings().subscribeOn(SchedulerProvider.getInstance().computation()).observeOn(SchedulerProvider.getInstance().ui()).toSingle().subscribeWith(object : DisposableSingleObserver<List<Something>>() {override fun onSuccess(t: List<Something>) {}overrid...

android – 使用rxJava2和改造的UndeliverableException【代码】

有一个例外,我的应用程序反复出现在Crashlytics(Fabric)上.我使用rxjava2进行改造以进行我的http调用. 这就是崩解剂日志中的所有内容(下图).将不胜感激任何帮助/见解.Fatal Exception: io.reactivex.exceptions.UndeliverableException: retrofit2.adapter.rxjava2.HttpException: HTTP 404 at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:349)at io.reactivex.internal.operators.single.SingleZipArray$ZipC...

Rxjava2 Retrofit2 Android.进行数百次网络通话的最佳方式【代码】

我有一个应用程序.我有一个大按钮,允许用户一次将所有数据同步到云端.重新同步功能,允许他们再次发送所有数据. (300条) 我正在使用RXjava2和retrofit2.我的单元测试只需一次通话即可完成.但是我需要进行N次网络呼叫. 我想避免的是让observable调用队列中的下一个项目.我正处于需要实现runnable的地步.我已经看过一些关于地图但我没有看到有人将它用作队列.此外,我想避免让一个项目失败并报告所有项目失败,就像Zip功能一样.我应该只...

android – 如何使用RxJava2 et Retrofit2处理无内容响应【代码】

我正在使用RxJava 2& Retrofit 2(https://github.com/JakeWharton/retrofit2-rxjava2-adapter),我想知道如何处理无响应(204)类型.在rxjava1中我使用了Observable< Void>但rxjava2不允许这样做(https://github.com/ReactiveX/RxJava/wiki/What’s-different-in-2.0 – > Nulls) 现在,我已经破解了绕过自定义类型的Json解析(我称之为NoContent),但我想知道是否有更好的方法. 编辑:public class NoContent {public static class Gso...

android – 使用RxJava2和Retrofit2 Mosby MVI的OnErrorNotImplementedException【代码】

我得到一个OnErrorNotImplementedException抛出并且应用程序崩溃,尽管处理下游错误(?). 例外E/AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-1 Process: pl.netlandgroup.smartsab, PID: 9920 io.reactivex.exceptions.OnErrorNotImplementedException: HTTP 401 Unauthorizedat io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)at io.reactivex.internal.functions.F...

android – 如何测试Retrofit2 RxJava2 api调用?【代码】

我想知道如何通过rxjava2测试Retrofit2调用.我的改装api界面如下:public interface LoginApiMapping {@POST("v1/secm/oam/oauth2/token")Observable<Response<RestResponseHolder<LoginResponseModel>>> login(@Body LoginModel model); }我想编写测试,它将通过RxJava2发送此请求并检查响应.我认为RxJava存在问题,因为它是异步的,测试在我得到响应之前完成,所以我尝试使用如下的TestSubscriber,但是不可能订阅TestSubscriber< Res...

RxJava2就像Android中的AsyncTask一样【代码】

嗨,我刚开始学习使用RxJava2进行反应式编程.如何创建在后台线程中运行的任务,然后使用RxJava2在主线程上完成. 在Android中我们使用AsyncTask的示例就像下面的示例private class MyTask extends AsyncTask<String, Integer, Boolean> {@Overrideprotected Boolean doInBackground(String... paths){for (int index = 0; index < paths.length; index++){boolean result = copyFileToExternal(paths[index]);if (result == true){// ...

Android进阶:五、RxJava2源码解析 2【代码】

上一篇文章Android进阶:四、RxJava2里我们讲到Rxjava2 从创建一个事件到事件被观察的过程原理,这篇文章我们讲Rxjava2中链式调用的原理。本文不讲用法,仍然需要读者熟悉Rxjava基本的用法。一.Rxjava2 的基本用法 Rxjava是解决异步问题的,它的链式调用让代码看起来非常流畅优雅。现在我们带上线程切换以及链式调用来看看。下面代码是示例:Observable.create(new ObservableOnSubscribe<String>() {@Overridepublic void subscri...

Android进阶:四、RxJava2 源码解析 1【代码】

本文适合使用过Rxjava2或者了解Rxjava2的基本用法的同学阅读一.Rxjava是什么 Rxjava在GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based programs using observable sequences for the Java VM"(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。通俗来说,Rxjava是一个采用了观察者模式设计处理异步的框架。链式调用设计让代码优雅易读。举个例子:Observable<String> ob...

Android进阶:四、RxJava2 源码解析 1【代码】

本文适合使用过Rxjava2或者了解Rxjava2的基本用法的同学阅读一.Rxjava是什么 Rxjava在GitHub 主页上的自我介绍是 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)。 通俗来说,Rxjava是一个采用了观察者模式设计处理异步的框架。链式调用设计让代码优雅易读。 举个例子:Observable<String...