Android retrofit使用模板

1,加入网络访问权限

复制代码
<uses-permission android:name="android.permission.INTERNET" />

2,引入依赖

复制代码
implementation "com.google.code.gson:gson:2.8.5"
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:converter-gson:2.9.0"

3,实体类

复制代码
data class Banner(
    val desc: String,
    val id: Int,
    val imagePath: String,
    val isVisible: Int,
    val order: Int,
    val title: String,
    val type: Int,
    val url: String
)

4,模板返回体

data class BaseResponse<T>( val data: T, val errorCode: Int, val errorMsg: String )

5,API类

复制代码
import retrofit2.Call
import retrofit2.http.GET

interface WanAndroidApi {
    @GET("banner/json")
    fun getBanners(): Call<BaseResponse<List<Banner>>>
}

6,工具类

复制代码
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory

object NetworkUtil {
    private val retrofit: Retrofit =
        Retrofit.Builder()
            .baseUrl("https://www.wanandroid.com/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()

    val wanAndroidApi:WanAndroidApi = retrofit.create(WanAndroidApi::class.java)
}
相关推荐
倾云鹤1 小时前
okhttp3网络请求
android·网络
二流小码农1 小时前
鸿蒙开发:了解Canvas绘制
android·ios·harmonyos
行墨2 小时前
Kotlin 函数引用
android
行墨2 小时前
Kotlin内联函数
android
未来猫咪花2 小时前
Flutter 状态管理极速版:view_model
android·flutter
彼方卷不动了2 小时前
【技术学习】在 Android 上用 Kotlin 实现支持多图层的 OpenGL 渲染管线
android·kotlin·opengl
洞见不一样的自己2 小时前
RecyclerView系列之二 ItemDecoration
android
恋猫de小郭2 小时前
Android 转内部开发谁说是闭源?明明 AOSP 外部 PR 支持也会继续
android·前端·flutter
肆仙.2 小时前
单表、多表查询练习
android·adb
Min_小明3 小时前
CMake 简单使用总结
android·开发语言·算法