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

})

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值