提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 一、加上網絡訪問的權限
- 二、引入依賴
- 三、由API生成JavaBean
- 四、封裝Retrofit
- 五、調用
- 一、加上網絡訪問的權限??
<uses-permission android:name="android.permission.INTERNET" />
- 二、引入依賴
implementation("com.google.code.gson:gson:2.8.9")implementation("com.squareup.retrofit2:retrofit:2.9.0")implementation("com.squareup.retrofit2:converter-gson:2.9.0")
- 三、由API生成JavaBean
1,安裝JSON To Kotlin Class插件:file->Settings->plugins->JSON To Kotlin Class
2,新建存放JavaBean的文件夾:entity/banner? ?為每個API創建一個文件夾,避免混亂
3,獲取JSON String:對于GET方式請求的API,直接復制API地址到瀏覽器即可。
? ? ? ? ? ? ? ? ? 對于POST方式請求的API,新建一個a.txt文件,寫入:<form action="https://www.wanandroid.com/user/login" method="post"><input name="username" value="username"><input name="password" value="password"><input type="submit"> </form>
保存后修改后綴為a.html,用瀏覽器打開即可。
4,在JavaBean的文件夾右擊new->kotlin data class File from Json,復制粘貼JSON String,Class Name設置:BannerData,生成后把Data重命名,右擊->refactor->rename為Banner。 - 四、封裝Retrofit
object RetrofitUtil {private val retrofit = Retrofit.Builder().baseUrl("https://www.wanandroid.com/").addConverterFactory(GsonConverterFactory.create()).build()interface WanAndroidApi{@GET("banner/json")fun getBannerData():Call<BannerData>}val wanAndroidApi: WanAndroidApi = retrofit.create(WanAndroidApi::class.java) }
-
五、調用
?RetrofitUtil.wanAndroidApi.getBannerData().enqueue(object : Callback<BannerData> {override fun onResponse(call: Call<BannerData>, response: Response<BannerData>){ }override fun onFailure(call: Call<BannerData>, t: Throwable) {}})