使用Kotlin配合RxJava網路請求
使用 Kotlin 配合 RxJava 進行網路請求
1.首先需要配置Kotlin在專案中
- Android Studio 3.0是自帶的,可以在建立專案的時候勾選include kotlin support
- Android Studio 2.0+是需要自己配置的,首先需要安裝Kotlin外掛,然後在下圖這裡配置一下,Configure Kotlin in Project
2.引入第3方庫
我這裡使用的是 OkHttp3,RxJava2,RxAndroid
引入如下(在我使用時,這是最新的版本):
- implementation ‘com.squareup.okhttp3:okhttp:3.8.1’
- implementation ‘io.reactivex.rxjava2:rxjava:2.1.2’
- implementation ‘io.reactivex.rxjava2:rxandroid:2.0.1’
- implementation ‘com.google.code.gson:gson:2.8.1’
- implementation ‘com.github.bumptech.glide:glide:4.0.0’
3.正式開始寫程式碼
在MainActivity中寫入如下程式碼
//使用RxJava處理 Observable.create(ObservableOnSubscribe<String> { e -> //使用okhttp3訪問網路 val builder = Request.Builder() val request = builder.url(NEWS_URL).get().build() val response = client.newCall(request).execute() val responseBody = response.body() val result = responseBody?.string() //這裡的.string()只能用一次 如果下面那一句不註釋的話就會報錯 //val result2 = responseBody?.string() Log.e(TAG, result) //這裡其實形參是String型別,然而實參是String?型別,如果直接傳result會報錯,在後面加!!即可解決 //發射(這裡是被觀察者,被觀察者發射事件) e.onNext(result!!) //上面那句程式碼可以這樣寫 //e.onNext(result as String) }).subscribeOn(Schedulers.io()) //io執行緒 被觀察者 .observeOn(AndroidSchedulers.mainThread()) //主執行緒 觀察者 .subscribe({ //這裡接收剛剛被觀察者發射的事件 //這個response就是io執行緒發射過來的result response -> Log.e(TAG, response) })
簡簡單單的總結
看似程式碼極少的demo,可是我卻遇到了很多的挫折,,搞了好久好久才寫好,主要是遇到錯誤的話,這種東西網上不好找解決方案….
相關推薦
使用Kotlin配合RxJava網路請求
使用 Kotlin 配合 RxJava 進行網路請求 1.首先需要配置Kotlin在專案中 Android Studio 3.0是自帶的,可以在建立專案的時候勾選include kotlin support Android Studio 2.0+是需要
Retrofit+okhttp+Rxjava 網路請求
implementation 'io.reactivex:rxandroid:1.0.1' implementation 'com.squareup.retrofit2:retrofit:2.0.2' implementation 'com.squareup.retrofit2:conver
Retrofit+Rxjava 網路請求的簡單封裝(一)(觀察者模式)
我通過公司一個上線App介面來進行Retrofit+Rxjava 的簡單學習 http://x-phone.cn/api/v1.0/DeletePrivateContact 當然你直接訪問上面的url是無法獲取伺服器Json資料的,因為是需要封裝請求體,
Retrofit+Rxjava 網路請求的完美封裝(二)(觀察者模式)
上一篇是Retrofit+Rxjava簡單封裝,是在MainActivity中構建的請求體,這篇博文是將請求體Request也置入到Rxjava中 Retrofit+Rxjava 網路請求的簡單封裝(一)(觀察者模式) 如果想對RxJava進行簡單的瞭解
Android 教你一步步搭建MVP+Retrofit+RxJava網路請求框架
之前公司的專案用到了MVP+Retrofit+RxJava的框架進行網路請求,所以今天特此寫一篇文章以做總結。相信很多人都聽說過MVP、Retrofit、以及RxJava,有的人已經開始用了,有的人可能還不知道這是什麼,以及到底怎麼用。不過沒關係,接下來我將為你一一揭開他們的神祕面紗,然後利用這三個傢伙搭建
Android RxJava 實戰系列:優雅實現 網路請求巢狀回撥
轉自-----http://blog.csdn.net/carson_ho/article/details/78315696,請為大神打call 前言 Rxjava,由於其基於事件流的鏈式呼叫、邏輯簡潔 & 使用簡單的特點,深受各大 Android
Android RxJava 實戰講解:優雅實現 網路請求輪詢
轉自-----http://blog.csdn.net/carson_ho/article/details/78256466 前言 Rxjava,由於其基於事件流的鏈式呼叫、邏輯簡潔 & 使用簡單的特點,深受各大 Android開發者的歡迎。
Android RxJava操作符的學習---功能性操作符--網路請求出錯重連(結合Retrofit)
1. 需求場景 2. 功能說明 功能需求說明 功能邏輯 例項說明 在本例子中:採用Get方法對 金山詞霸API 傳送網路請求 通過 斷開網路連線 模擬 網路異常錯誤(恢復網路即可
Android RxJava操作符的學習---功能性操作符--(有條件)網路請求輪詢(結合Retrofit)
1. 需求場景 2. 功能說明 採用Get方法對 金山詞霸API 按規定時間重複傳送網路請求,從而模擬 輪詢 需求實現 停止輪詢的條件 = 當輪詢到第4次時 採用 Gson 進行資料解析 3.
Android RxJava操作符的學習---變換操作符---網路請求巢狀回撥
變換操作符的主要開發需求場景 = 巢狀回撥(Callback hell) 下面,我將採用一個實際應用場景例項來講解巢狀回撥(Callback hell) 1. 需求場景 1.1 背景 需要進行巢狀網路請求:即在第1個網路請求成功後,繼續再進行一次網路請求 如
Android RxJava操作符的學習---建立操作符--(無條件)網路請求輪詢
1. 需求場景 2. 功能說明 本文將採用Get方法對 金山詞霸API 按規定時間 重複傳送網路請求,從而模擬 輪詢 需求實現 採用 Gson 進行資料解析 3. 具體實現 下面結合 Ret
安卓專案實戰之強大的網路請求框架okGo使用詳解(五):擴充套件專案okRx,完美結合RxJava
前言 在第一篇講解okGo框架新增依賴支援時,還記得我們額外新增的兩個依賴嗎,一個okRx和一個okServer,這兩個均是基於okGo框架的擴充套件專案,其中okRx可以使請求結合RxJava一起使用,而okServer則提供了強大的下載上傳功能,如斷點支援,多工管理等,本篇我們主要講
Retrofit+Rxjava+MVP網路請求框架
導言: 之前有套基於MVP的網路請求框架,是okhttp封裝的,後來由於retrofit,rxJava的流行,所以更改一部分來使用 釋義: retrofit:基於okhttp再次封裝的網路請求框架 rxjava:非同步工具庫,handler+thread->asyctask-&
Android_Retrofit+RxJava+MVP+網路請求多次判斷
//依賴 compile 'io.reactivex.rxjava2:rxjava:2.1.1' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'com.squareup.retrofit2:retr
Android RxJava 實際應用講解:(無條件)網路請求輪詢
前言 Rxjava,由於其基於事件流的鏈式呼叫、邏輯簡潔 & 使用簡單的特點,深受各大 Android開發者的歡迎。 Github截圖 RxJava如此受歡迎的原因,在於其提供了豐富 & 功能強大的操作符,幾乎能完成所有的功能需求 今天,我將為大
網路請求Retrofit+RxJava
Retrofif+Rxjava實現網路資料互動。 Retrofit是什麼? Retrofit其實我們可以理解為OkHttp的加強版,它也是一個網路載入框架。底層是使用OKHttp封裝的。準確來說,網路請求的工作本質上是OkHttp完成,而 Retrofit 僅負責網
使用Kotlin編寫網路基本網路請求
原始碼下載連結已經在篇尾給出 一:首先將網路請求需要的依賴新增到build.gradle中: //Retrofit implementation 'com.squareup.retrof
封住Rxjava+Retrofit 的網路請求
public class HttpUtils { private BaseService baseService; private Observable<ResponseBody> observable; public HttpUtil
(譯)使用Kotlin和RxJava處理複雜的請求
Android開發中經常會遇到這樣一個問題:服務端Api介面返回的資料和介面上要展示的資料不一致,這就需要你實現更加複雜的請求。可能你的app需要進行多次請求,有些請求還要依賴於前一個請求的結果。這對使用Java開發會是一個挑戰,並且寫出來的程式碼往往可
RxJava+Retrofit+OkHttp深入淺出-終極封裝二(網路請求)
CSDN部落格釋出了一系列的RxJava+Retrofit+OkHttp深入淺出-終極封裝 之前發出後收到很多朋友的關注,原本只是自己學習後的一些經驗總結,但是有同學運用到實戰當中,這讓我很惶恐,所有後續一直更新了很多次版本,有些地方難免有所變動導致之前的部落格有所出入,正好最近受到掘金邀請內測部落格,所以決