在練習api時,還使用到了retrofit+rxjava,所以我想來介紹一下這兩個強大的套件。
Retrofit主要功用是接收url(連結、網址)型式的資料.baseUrl("https://...")
這時我們收到的程式是json格式,我們會利用Gson將它轉成java語言.addConverterFactory(GsonConverterFactory.create())
最後我們要在built增添retrofit的依賴
dependencies{
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
}
當使用api時,若是一不小心將後端龐大的資料丟到前端造成ui崩潰,這時我們會使用rxjava分擔這一部分的風險,rxjava是利用異步處理將程式分為ui主線程,跟io副線程,
ui主線程負責物件動作的程式,副線程處理需要大量執行緒的工作。
實際應用程式:
.observeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
rxjava的Observables種類非常多,有Observable、Flowable、Single
在使用時第一步我們也是在build中添加rxjava的依賴
dependencies{
implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
implementation 'io.reactivex.rxjava3:rxjava:3.1.6'
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
}
rxjava取得資料後會回應三個動作分別是