OkHttp3 + retrofit2 封装

0.下载文件

1.gradle 添加

compile ‘com.squareup.retrofit2:retrofit:2.1.0‘compile ‘com.squareup.retrofit2:converter-gson:2.1.0‘compile ‘com.squareup.retrofit2:adapter-rxjava:2.1.0‘

compile ‘com.squareup.okhttp3:okhttp:3.4.1‘compile ‘com.squareup.okio:okio:1.9.0‘

2.AndroidManifest.xml 权限   

<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

3.Application中初始化

HttpUtil.getInstance().init(this, "http://baiqi.ej-cloud.com:8070/iot/");

4.调用

                HttpUtil.getInstance().get(
                        new HttpUtil.Builder()
                                .url("user/token/init")
                                .params("key", "1")
                                .params("type", "4")
                                .callBackSuccess(new CallBackSuccess() {
                                    @Override
                                    public void onSuccess(String json) {
                                        TopicResponse topicResponse = JsonUtil.fromJson(json, TopicResponse.class);
                                        tv.setText(topicResponse.data.id);
                                    }
                                }));

参考:

https://github.com/gengqiquan/HttpUtil

https://github.com/hongyangAndroid/okhttputils

时间: 2024-08-09 10:21:06

OkHttp3 + retrofit2 封装的相关文章

Android Okhttp3+Retrofit2网络加载效率优化

一.开发背景: 我目前在做的是一个3年左右的老项目,项目开始的时候okhttp还不像现在这么火,基本上使用HttpURLConnection类来实现所有的HTTP请求,当时采用的是xUtils框架来实现异步的,回调式的接口请求.现在发现xUtils这套框架存在几个很大的问题. 老框架的性能问题: 1.xUtils的图片加载任务会阻塞Http请求,因为xUtils中的图片加载框架BitmapUtils和网络请求框架HttpUtils的线程池是共用的,这个线程池的大小默认为3,也就是说当我在下载图片

okhttp3 get post 简单封装

最近打算在新项目中使用 okhttp3, 简单封装了一下异步 get post 因为 CallBack 也是在子线程中执行,所以用到了 Handler public class MyOkHttpClient { private static MyOkHttpClient myOkHttpClient; private OkHttpClient okHttpClient; private Handler handler; private MyOkHttpClient() { okHttpClien

[Android开源]一套快速高效的开发框架EasyAndroid

类库介绍 EasyAndroid 现在Android的框架很多,第三方库也很多,当做一个项目的时候,会考虑怎么整合那么多的资源,以达到复用快速开发. 今天要说的这个框架就是整合了主流Retrofit2网络层封装.Fresco图片加载.都使用OKHTTP3进行网络处理.使用MVP架构,来快速灵活开发复用我们的项目. 框架说明 Retrofit2 为什么要使用它呢?我们来想想如果不使用它的话,我们直接操作OKHTTP3的网络请求,还需要做哪些操作?当发送请求的时候,来封装要以get或者post方式发

Android中的设计模式之观察者模式

参考 <设计模式:可复用面向对象软件的基础 >5.7 Observer 观察者 对象行为型模式 <设计模式解析> 18.4 Observer模式 <Android源码设计模式解析与实战>第12章 解决,解耦的钥匙--观察者模式 本人能力有限,如有明显错误,不规范的地方,请指正,谢谢. 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新. 别名 依赖(Dependents)发布-订阅(Publish-Subscrib

RxJava2+Retrofit2+RxLifecycle3+OkHttp3网络请求封装(动态演示)

入职公司后,公司要求组件化开发,经过讨论后我将网络请求框架单独进行了封装,不过当时框架里将常用的 util 和 ui 均放入到了共同的 Common 包下,导致里面部分代码耦合,后来为了降低耦合性又将 Common 拆分为了lib_common和lib_ui,但是 lib_ui 依赖了 lib_common,还是导致部分代码耦合,最新一期为了降低组件之间的耦合性,所以单独将 lib_common 中的网络请求单独拆分,并且我又做了新的封装和完善,总之网络框架经过3次大的改造后,使用已经非常稳定了

Android 网络框架 Retrofit2.0介绍、使用和封装

前言 时至今日,Android的网络框架不再像之前那么到处都是,随着Google把 HttpClient直接删掉,似乎意味着Android越来越成熟.网络框架中的佼佼者Volley也不再那么光鲜,取而代之的是 Retrofit 和 okHttp. 感觉很像 OnePiece 中白胡子的离去象征着时代的变革,新时代的开始,多弗的垮台象征着七武海制度的取缔一样,不会使用Retrofit + okHttp + RxJava等一系列技术,就迈不进新时代的门槛,也不足以称为一个合格的开发者. 哈哈闲话不多

Android 使用Retrofit2.0+OkHttp3.0实现缓存处理+Cookie持久化第三方库

1.Retrofit+OkHttp的缓存机制 1.1.第一点 在响应请求之后在 data/data/<包名>/cache 下建立一个response 文件夹,保存缓存数据. 1.2.第二点 这样我们就可以在请求的时候,如果判断到没有网络,自动读取缓存的数据. 1.3.第三点 同样这也可以实现,在我们没有网络的情况下,重新打开App可以浏览的之前显示过的内容. 1.4.第四点 也就是:判断网络,有网络,则从网络获取,并保存到缓存中,无网络,则从缓存中获取. 1.5.github地址+参考文章 g

Retrofit2 + OkHttp3设置Http请求头(Headers)方法汇总

在构建网络层时会遇到一个问题就是要手动配置Http请求的Headers,写入缓存Cookie,自定义的User-Agent等参数,但是对于有几十个接口的网络层,我才不想用注解配置Headers,目前网上很多文章的方法真对这两个版本都不是很适用,有的给出的方法已经被删除,有的方法会报出异常 :( 方法一: 在翻阅官方API文档整理后的方法如下: 1.  import okhttp3.Interceptor; 2.  import okhttp3.OkHttpClient; 3.  import o

Android Volley+OkHttp3+Gson 开源库的封装

博客将按照下面的步骤介绍Volley的重新封装: 1.OkHttp3的关于Volley的HttpStack实现 2.HttpRequest的实现和HttpListener回调监听的封装 3.Volley原始的Request的Wrap 4.各种方式的请求的重新实现 5.统一请求的实现 6.使用 所需依赖: compile 'com.android.volley:volley:1.0.0' compile 'com.squareup.okio:okio:1.7.0' compile 'com.squ