小编Ant*_*aev的帖子

Android WorkManager中的异步工作者

谷歌最近宣布了新的WorkManager架构组件.通过WorkManagerdoWork()课堂上实现,可以很容易地安排同步工作,但是如果我想在后台进行一些异步工作呢?例如,我想使用Retrofit进行网络服务调用.我知道我可以发出同步网络请求,但它会阻塞线程并且感觉不对.有没有解决方案,或者目前还不支持?

android android-architecture-components android-workmanager

29
推荐指数
6
解决办法
1万
查看次数

FusedLocationProviderApi的替代方案

我不希望我的应用依赖Google API.是否有任何开源替代品FusedLocationProviderApi允许组合标准GPS和网络提供商?

api android location location-provider fusedlocationproviderapi

6
推荐指数
1
解决办法
763
查看次数

Android应用程序中的RxJava和MVP

我正在尝试使用MVP架构在Android应用程序中实现一个屏幕,并在View端使用RxJava和RxBinding.

基本上我有2个Spinners,1个TextEdit和一个默认禁用的按钮.我想在Spinners选择了项目且文本字段不为空时启用该按钮.这是代码:

Observable.combineLatest(
        RxAdapterView.itemSelections(mFirstSpinner),
        RxAdapterView.itemSelections(mSecondSpinner),
        RxTextView.textChanges(mEditText),
        new Func3<Integer, Integer, CharSequence, Boolean>() {
            @Override
            public Boolean call(Integer first, Integer second, CharSequence value) {
                return !TextUtils.isEmpty(value);
            }
        }).subscribe(new Action1<Boolean>() {
        @Override
        public void call(Boolean enable) {
            mButton.setEnabled(enable);
        }
    });
Run Code Online (Sandbox Code Playgroud)

现在的问题是如何将其整合到MVP模式中.理想情况下,启用按钮的"业务逻辑"应该在演示者中.实现这一目标的最佳方法是什么?我正在考虑将原始观察者以某种方式传递给演示者(侧面问题是如何?),演示者将组合这些观察者,并且它将具有启用按钮的逻辑.最后,它只会调用View来修改按钮状态.

还有更好的选择吗?在View端有没有RxJava MVP的好例子?

mvp android rx-java rx-android rx-binding

5
推荐指数
1
解决办法
1050
查看次数