Android 中retrofit框架的简单使用--kotlin语言

本文介绍了在Android中使用Kotlin配合Retrofit进行网络请求的简单步骤,包括引入依赖、开启网络权限、设置API接口及注解的正确使用方法,通过实例展示了如何发起网络请求并获取响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

retrofit封装了okhttp,采用注解的模式来实现网络请求,目前来说,是最好用的网络框架之一。

首先引入依赖

implementation 'com.squareup.retrofit2:retrofit:2.5.0'//Retrofit依赖
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'//可选依赖,解析json字符所用
    implementation 'com.squareup.retrofit2:converter-scalars:2.0.0' //解析字符串

开启网络权限

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

设置一个代理api

interface MyService {
    @GET("/")
    fun getApp() : Call<String>
}

值得注意的是注解里面的参数,如果有数据就要填写数据,如果没有数据,就用“.”或“/”来标记,不能写成@GET或@GET("")否则会报 java.lang.IllegalArgumentException: Missing either @GET URL or @Url parameter.

我们现在可以来写网络请求了

           //1.获取retrofit实例
                val retorfit = Retrofit.Builder()
                    .baseUrl("https://www.baidu.com/")
                    .addConverterFactory(ScalarsConverterFactory.create())//解析成字符串
                        //如果要解析成json,写成addConverterFactory(GsonConverterFactory.create())
                    .build()
                //2.实例化代理api对象
                val myService = retorfit.create(MyService::class.java)
                //3.获取请求方法
                val method = myService.getApp()
                //4.异步请求
                method.enqueue(object : Callback<String> {
                    override fun onResponse(call: Call<String>, response: Response<String>) {
                        //请求成功
                        val str = response.body()
                        if (str != null) {
                            Log.e("", "onResponse: ${str}" )
                        }
                    }
                    override fun onFailure(call: Call<String>, t: Throwable) {
                        //请求失败
                        t.printStackTrace()
                    }
                })

我们就可以看见如下结果了

结果图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值