groovy
dependencies {
// RxAndroid
implementation 'io.reactivex.rxjava3:rxandroid:3.x.y'
// Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.x.y'
implementation 'com.squareup.retrofit2:converter-gson:2.x.y' // Gson Converter
}
public interface ApiService {
@GET("users/{userId}")
Observable<User> getUserInfo(@Path("userId") String userId);
}
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.example.com/")
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
ApiService apiService = retrofit.create(ApiService.class);
apiService.getUserInfo("123")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<User>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(User user) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});