专栏首页木溪知识加油站xUtils3同步方法getSync(),postSync()使用

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();

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 笔记——生命周期与启动模式(八)

    1、在我们经常在activity中调用finish()方法来结束销毁一个activity,其实调用finish()方法后它不一定就会马上执行onDestory(...

    紫兮木溪
  • 笔记——线程(十二)

    线程同步锁(同步锁机制):如A线程要请求某个资源,但是此资源加了同步锁又正在被B线程使用着,因为同步机制存在,A线程请求不到该资源,怎么办,A线程只能继续等待下...

    紫兮木溪
  • CoordinatorLayout打造折叠式的顶部标题栏

    如果以上简单操作无法满足你的需求,最后附上参考博客文章 Android开发之CoordinatorLayout打造滑动越界弹性放大图片效果 使用Coordi...

    紫兮木溪
  • 前端成神之路-HTML5CSS3_03

    海仔
  • 基于游程法的二值图像Blob 分析算法

    1. 概述 按照处理对象的不同, 目前典型的连通性分析算法包括基于像素的方法和基于游程的方法。后者是对像素法的一种改进,它充分利用了区域各部分之间的连通关系,搜...

    智能算法
  • CES 2019前瞻|黑科技汇集!5G、AI、VR/AR……哪些值得期待?

    还有不到一个月,2019年美国拉斯维加斯国际消费类电子产品展览会“CES 2019(Consumer Electronics Show)”即将于拉斯维加斯举办(...

    VRPinea
  • 基于传感器的人类行为识别DL方法难在哪?这篇综述列了11项挑战

    除此之外,他们还总结了可用于评估不同挑战任务的公共数据集并讨论了尚待解决的问题,同时为未来的方向提供了一些见解。

    机器之心
  • Python基础项目实战:爬取5K分辨率高清桌面壁纸

    相信大家都很需要哪些既好看又能符合自己当时的心情的高清壁纸,很多时候壁纸反应我们当时的心情,一张好的壁纸就一道靓丽的风景,让人忘掉烦恼,那么接下来就为你解忧

    一墨编程学习
  • R+NLP︱text2vec包——BOW词袋模型做监督式情感标注案例(二,情感标注)

    版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! htt...

    素质
  • Android Studio 3.3 to 3.3.1 更新纪实(日常Why can't it? & Why can it?...)

    很容易,点击一下这个菜单项,重启AS即可。 解决了爆红之后便没什么问题了,AS此次更新便胜利落幕。

    凌川江雪

扫码关注云+社区

领取腾讯云代金券