lygttpod/RxHttpUtils

建议及问题

Closed this issue · 6 comments

1、我在GET这个接口(http://www.qingniantuzhai.com/api/posts/3067?comments=3) 的时候给我重定向到另外一个网址去了,但是在浏览器请求就完全ok
2、处理一些loading框或者其他的loading方式的时候能否暴露接口便于去扩展。
3、貌似没有发现自动取消请求的操作!

@wl386123298
1、第一个问题需要自己添加baseUrl,不添加的话默认会有一个测试地址 是我demo测试用的,通过getInstance(your_base_url)去添加你的baseUrl
2、loading只需传入一个Dialog类型的loading就行,想实现炫酷的loading显示只需自己实现好loading类即可 传入就行了
3、目前确实没加取消请求的操作,后续会加上去的;

谢谢提意见!

第一点重定向的问题我查看了url是我少了东西,失误!
关于第二点可能我的表达有误,我说的loading可能不仅限于继承dialog的一些loading

@wl386123298 嗯 ,后边会扩展这块的

在adapter中使用的话会把itemclick拦截掉

@streamingchen 大兄弟,issues发错地方了吧 SuperTextView。。。在adapter中使用的话,需要取消点击水波扩散的属性即sUseRipple="false"

@wl386123298

1、你说的关于loading不仅限于继承dialog的问题在最新版本中已经提供解决方案,可以为Transformer添加如下方法,实现MVP模式中V层控制UI展示的方法

    /**
     * 带参数  显示loading对话框
     * @param view MVP模式中的V层
     * @param <T>    泛型
     * @return 返回Observable
     */
    public static <T> ObservableTransformer<T, T> switchSchedulers(final View view) {
        return new ObservableTransformer<T, T>() {
            @Override
            public ObservableSource<T> apply(@NonNull Observable<T> upstream) {
                return upstream
                        .subscribeOn(Schedulers.io())
                        .unsubscribeOn(Schedulers.io())
                        .doOnSubscribe(new Consumer<Disposable>() {
                            @Override
                            public void accept(@NonNull Disposable disposable) throws Exception {
                                if (view != null) {
                                    view.showLoadingView();
                                }
                            }
                        })
                        .subscribeOn(AndroidSchedulers.mainThread())
                        .observeOn(AndroidSchedulers.mainThread())
                        .doFinally(new Action() {
                            @Override
                            public void run() throws Exception {
                                if (view != null) {
                                    view.hideLoadingView();
                                }
                            }
                        });
            }
        };
    }

2、取消请求的方法已经加上了,详细用法可以阅读文档