koltlin okhttp3.0+Retrofit2.0

刚刚开始学习,用的很简单,对于不了解retrofit只能一步步慢慢来

先贴上retrofit的官网地址retrofit

这里有注意地方 retrofit 支持Android :

Retrofit requires at minimum Java 7 or Android 2.3.

再贴上okhttp3.0官网地址 okhttp3.0

这里也有注意的地方,之前就遇到坑了,一进入应用就报错,刚刚开始有点注意,看到这个手机有点老,4.4.2版本的系统,只是有意识的注意了一下并没有在意,最后还是看到官网的解释

OkHttp supports Android 5.0+ (API level 21+) and Java 8+.

只支持5.0以上的,并且java8以上。

先把依赖加上:

    implementation 'com.squareup.retrofit2:retrofit:2.5.0'//导入retrofit
    implementation 'com.google.code.gson:gson:2.8.5'//Gson 库
//下面两个是RxJava 和 RxAndroid
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.9'
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'//转换器,请求结果转换成Model
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'//配合Rxjava 使用
    implementation 'com.squareup.okhttp3:logging-interceptor:3.5.0'
    implementation 'com.alibaba:fastjson:1.2.56'

这是全部依赖,看到那些有用就添加,里面主要用rxjava2.0+retrofit2.0+okhttp3.0一起使用

现在直接上代码,因为是初学,先把数据请求拿到就好,继续;

//写在接口类里面,Get请求 ,post就换成post就好了不过要和@FormUrlEncoded 一起连用,否则会报错

Form-encoded data is sent when @FormUrlEncoded is present on the method. Each key-value pair is annotated with @Field containing the name and the object providing the value.

@GET("em/get")
fun getEm2() :Call<EmEntry>
val retrofit = Retrofit.Builder()
    .baseUrl(Url.uri_path)
//如果不加上这句会包
    .addConverterFactory(GsonConverterFactory.create())
//java.lang.IllegalArgumentException: Unable to create converter for class
    .build()
val api = retrofit.create(Api::class.java)
api.getEm2().enqueue(object :Callback<EmEntry>{
    override fun onFailure(call: Call<EmEntry>, t: Throwable) {

    }

    override fun onResponse(call: Call<EmEntry>, response: Response<EmEntry>) {
        tv.text = response.body()?.data.toString()
    }

})

到这里应该就可以拿到数据,学习新的东西就是一步一步来的

OkHttp3Retrofit2是两个在Java开发中常用的网络请求库,它们可以帮助我们方便地进行网络请求和数据解析。 OkHttp3是一个高效、可靠的HTTP客户端,它支持HTTP/2协议,可以处理网络请求、连接池、缓存等功能。它提供了简洁的API,使得发送HTTP请求变得非常简单。你可以使用OkHttp3来发送GET、POST等各种类型的请求,并且可以设置请求头、请求参数、超时时间等。 Retrofit2是一个基于OkHttp3的RESTful风格的网络请求库,它可以将HTTP API转换为Java接口。通过定义接口的方式,我们可以使用注解来描述请求的URL、请求方法、请求参数等信息。Retrofit2会根据这些注解自动生成相应的网络请求代码,使得我们可以以更加简洁的方式进行网络请求。 使用OkHttp3Retrofit2进行网络请求的步骤如下: 1. 添加依赖:在项目的build.gradle文件中添加OkHttp3Retrofit2的依赖。 2. 创建OkHttpClient对象:可以设置一些通用的配置,比如连接超时时间、读写超时时间等。 3. 创建Retrofit对象:通过Retrofit.Builder来创建Retrofit对象,并设置baseUrl、OkHttpClient等。 4. 定义接口:创建一个Java接口,使用注解描述请求的URL、请求方法、请求参数等信息。 5. 创建接口实例:通过Retrofit.create()方法来创建接口的实例。 6. 发起网络请求:调用接口实例的方法来发起网络请求,并处理响应结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值