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
- okhttp網路請求框架的簡單使用HTTP框架
- 簡單介紹shell中的curl網路請求的實現
- 使用Retrofit+RxJava實現網路請求RxJava
- Flutter學習(7)——網路請求框架Dio簡單使用Flutter框架
- Android網路請求(終) 網路請求框架RetrofitAndroid框架
- Android網路請求(3) 網路請求框架OkHttpAndroid框架HTTP
- 簡單6步搞定Flutter網路請求Flutter
- Android 網路框架之OKhttp實現https請求Android框架HTTP
- Android網路請求(4) 網路請求框架VolleyAndroid框架
- 簡單的實現jsonp跨域請求JSON跨域
- 分分鐘使用Retrofit+Rxjava實現網路請求RxJava
- Android網路請求(2)Android
- Android okHttp網路請求之Get/Post請求AndroidHTTP
- 微信小程式之網路請求簡單封裝微信小程式封裝
- Kotlin中Retrofit網路請求簡單封裝Kotlin封裝
- 安卓okhttp3進行網路請求,一個簡單的登入頁面的實現安卓HTTP
- flutter dio網路請求封裝實現Flutter封裝
- RxJava+Retrofit+Gson實現網路請求RxJava
- Flutter 熱門網路請求框架Dio的簡單封裝Flutter框架封裝
- 利用JQuery實現更簡單的Ajax跨域請求jQuery跨域
- Android 網路請求詳解Android
- swift 網路請求Alamofire的使用Swift
- Android Http請求框架二:xUtils 框架網路請求AndroidHTTP框架
- 簡單的聊聊網路請求中的記憶體拷貝記憶體
- Retrofit + RxJava + OkHttp 讓網路請求變的簡單-基礎篇RxJavaHTTP
- Retrofit + RxJava + OkHttp 讓網路請求變的簡單-封裝篇RxJavaHTTP封裝
- Volley傳送簡單的網路請求(Sending a Simple Request)
- iOS 使用Moya網路請求iOS
- 網路請求-手把手實現axiosiOS
- Android 各大網路請求庫的比較及實戰Android
- 使用GCD實現和封裝分組併發網路請求GC封裝
- Android網路請求 v1.0Android
- Android測試Http網路請求。AndroidHTTP
- .net core基於HttpClient實現的網路請求庫HTTPclient
- 使用retrofit進行網路請求
- android 網路請求時,顯示progrossBarAndroidROS
- Android探索之HttpURLConnection網路請求AndroidHTTP