xUtils3同步方法getSync(),postSync()使用

时间:2022-06-16
本文章向大家介绍xUtils3同步方法getSync(),postSync()使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

现在Android前端开发,流行的开发框架是RxJava2+Retrofit2+OKHttp模式。当然既然大流如此,当然有它的过人之处,用过后我个人感觉确实牛逼,小见解:线程切换方便,个人定制化,自定义容易多了,尤其是RxJava2较与RxJava还添加了背压这个理念。推荐不错一个RxJava2.0简书系列,作者新颖的“水管”讲述方式着实厉害,入门容易多了。

各自的职责:Retrofit 负责请求的数据和请求的结果,使用接口的方式呈现;OkHttp 负责请求的过程;RxJava 负责异步,各种线程之间的切换。

我当前维护了一个小项目一直用的xUtils2.6的版本,想着更新维护一下,就想到了现在比较不错的3.0版本xUtils3(xUtils3Git地址),该框架封装的还是比较完善的,具体操作的使用方法详情看https://blog.csdn.net/tyk9999tyk/article/details/53306035,我呢就是代码的搬运工,哈哈。但是有一点是他们都没具体说明同步的怎么使用,我也是在这里遇到了问题,我们都知道网络连接这种耗时操作在安卓中最好事在子线程中进行。我刚开始把xUtils3的Get请求放在了主线程中,死活接收不到回传数据,究其原因目前未知,只得操作与子线程,测试ok成功。

get方式
   new Thread(new Runnable() {
            @Override
            public void run() {
                //同步必须在子线程中进行
                RequestParams params = new RequestParams("https://api.douban.com/v2/movie/in_theaters");
               // 默认缓存存活时间, 单位:毫秒(如果服务器没有返回有效的max-age或Expires则参考)
                JSONObject  jsonObject;
                try {
                    jsonObject = x.http().getSync(params, JSONObject.class);
                } catch (Throwable throwable) {
                    throwable.printStackTrace();
                }
            }
        }).start();
post方式
   new Thread(new Runnable() {
            @Override
            public void run() {
                //同步必须在子线程中进行
                RequestParams params = new RequestParams("https://api.douban.com/v2/movie/in_theaters");
               // 默认缓存存活时间, 单位:毫秒(如果服务器没有返回有效的max-age或Expires则参考)
                JSONObject jsonObject;
                try {
                    jsonObject = x.http().postSync(params, JSONObject.class);
                } catch (Throwable throwable) {
                    throwable.printStackTrace();
                }
            }
        }).start();

以上纯属个人见解,在此记录一下,如有失误,请谅解,毕竟萌新一枚!!!欢迎修正