我打算在Android Studio中使用rxjava进行改造。实际上我遵循了 https://code.tutsplus.com/tutorials/getting-started-with-retrofit-2--cms-27792教程这就是我所做的一切:
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile 'com.squareup.retrofit2:retrofit:2.2.0'
compile 'com.google.code.gson:gson:2.8.0'
compile 'com.squareup.retrofit2:converter-gson:2.2.0'
compile 'com.android.support:recyclerview-v7:25.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.9'
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
Run Code Online (Sandbox Code Playgroud)
我创建了Retrofit客户端和Interface订阅方法。说不能解决
mService.getAnswer().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<SOAnswersResponse>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(SOAnswersResponse soAnswersResponse) {
}
}
);
Run Code Online (Sandbox Code Playgroud)
我在主要活动中导入了此内容:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.widget.Toast;
import com.example.android.stackoverflow.Data.Model.Item;
import com.example.android.stackoverflow.Data.Model.SOAnswersResponse;
import com.example.android.stackoverflow.Data.remote.ApiUtils;
import com.example.android.stackoverflow.Data.remote.SOService;
import java.util.ArrayList;
import io.reactivex.schedulers.Schedulers; …Run Code Online (Sandbox Code Playgroud)