Android使用Kotlin+Retrofit+Rxjava實現簡單的網路請求
kotlin在使用中也有一段時間了,這裡分享一下最基本的使用Kotlin+Retrofit+Rxjava實現網路請求:這裡以wanAndroidApi為例。
1.請求文章列表
2.具體程式碼: /** * 獲取首頁文章列表 */ private fun getArtList() { val retrofit = Retrofit.Builder() .baseUrl(Constant.BASE_SERVER_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .build() val server: ApiServer = retrofit.create(ApiServer::class.java) server.articleLists(1).enqueue(object : Callback<List<ArticleListBean>> { override fun onFailure(call: Call<List<ArticleListBean>>, t: Throwable) { } override fun onResponse( call: Call<List<ArticleListBean>>, response: Response<List<ArticleListBean>> ) { Log.d("data----", gson!!.toJson(response.body())) } }) }
3.interface ApiServer {
//首頁文章列表 @GET("/article/list/{page}/json") fun articleList(@Path("page") page:Int) : Observable<BaseResult<ArticleListBean>>
}
4.請求結果基類
/** * @作者: njb * @時間: 2020/12/3 15:37 * @描述: */ class BaseResult <T>{ val errorCode: String = "" val errorMsg: String = "" val success: Boolean = false var data: T? = null }
5.文章列表實體類:ArticleListBean
class ArticleListBean { var datas: MutableList<DatasBean>? = null class DatasBean { /** * apkLink : * author : Jetictors * chapterId : 232 * chapterName : 入門及知識點 * collect : false * courseId : 13 * desc : * envelopePic : * fresh : true * id : 3226 * link : http://www.cnblogs.com/Jetictors/tag/Kotlin/ * niceDate : 4小時前 * origin : * projectLink : * publishTime : 1533522956000 * superChapterId : 232 * superChapterName : Kotlin * tags : [] * title : Kotlin 系列文章 * type : 0 * userId : -1 * visible : 1 * zan : 0 */ var apkLink: String? = null // 文章uri var author: String? = null // var chapterId: Int = 0 // var chapterName: String? = null var isCollect: Boolean = false var courseId: Int = 0 var desc: String? = null var envelopePic: String? = null var isFresh: Boolean = false var id: Int = 0 var link: String? = null var niceDate: String? = null var origin: String? = null var projectLink: String? = null var publishTime: Long = 0 var superChapterId: Int = 0 var superChapterName: String? = null var title: String? = null var type: Int = 0 var userId: Int = 0 var visible: Int = 0 var zan: Int = 0 var tags: List<*>? = null var isSelect: Boolean = false } }
6.執行結果如下:
相關文章
- Flutter 網路請求的三種簡單實現Flutter
- 簡單介紹shell中的curl網路請求的實現
- Android網路請求(4) 網路請求框架VolleyAndroid框架
- Android網路請求(終) 網路請求框架RetrofitAndroid框架
- Android網路請求(3) 網路請求框架OkHttpAndroid框架HTTP
- 使用Retrofit+RxJava實現網路請求RxJava
- Flutter學習(7)——網路請求框架Dio簡單使用Flutter框架
- 簡單的實現jsonp跨域請求JSON跨域
- Android網路請求(2)Android
- 簡單6步搞定Flutter網路請求Flutter
- 分分鐘使用Retrofit+Rxjava實現網路請求RxJava
- Kotlin中Retrofit網路請求簡單封裝Kotlin封裝
- Flutter 熱門網路請求框架Dio的簡單封裝Flutter框架封裝
- flutter dio網路請求封裝實現Flutter封裝
- 網路請求-手把手實現axiosiOS
- 簡單的聊聊網路請求中的記憶體拷貝記憶體
- 安卓okhttp3進行網路請求,一個簡單的登入頁面的實現安卓HTTP
- android 網路請求時,顯示progrossBarAndroidROS
- iOS 使用Moya網路請求iOS
- .net core基於HttpClient實現的網路請求庫HTTPclient
- axios躺坑之路:cookie,簡單請求與非簡單請求。iOSCookie
- 使用retrofit進行網路請求
- Kotlin + 協程 + Retrofit + MVVM優雅的實現網路請求KotlinMVVM
- Android中SharePreferences的簡單實現Android
- flutter網路請求框架dio基本使用Flutter框架
- 如何使用 Python 請求網路資源Python
- 網路請求了
- 網路請求優化之取消請求優化
- 透過簡單實現 PHP 請求模擬賺了 50 元PHP
- NUXT3.0實現網路請求二次封裝UX封裝
- vue(24)網路請求模組axios使用VueiOS
- HTTP網路請求原理HTTP
- 網路資料請求
- Android小知識-剖析Retrofit中網路請求的兩種方式Android
- 使用 Promise 實現任務佇列傳送請求,實現最大請求數目限制Promise佇列
- 一步步封裝實現自己的網路請求框架封裝框架
- Android應用加固的簡單實現方案Android
- 使用 Laravel 請求類來驗證表單請求Laravel