在我的应用程序中,我试图使用Retrofit 2
和RxJava2
从我的网络服务器获取数据。但是,当我订阅我的API接口方法,我得到错误无法解析方法订阅翻新Rxjava android
Cannot Resolve method 'subscribe(anonymous org.reactivestreams.Subscriber<*Model Name*>
API客户端:
public class ApiClient {
public static final String BASE_URL = "*********";
private static Retrofit retrofit = null;
public static Retrofit getClient() {
final OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(60, TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.build();
if (retrofit==null) {
Gson gson = new GsonBuilder()
.setLenient()
.create();
retrofit = new Retrofit.Builder()
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.baseUrl(BASE_URL)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
}
return retrofit;
}
}
ApiInterface
public interface ApiInterface {
@FormUrlEncoded
@POST("user/get_user")
Observable<UserResponse> getUsers(@Field("email") String email, @Field("password") String password);
}
UserResponse型号:
public class UserResponse {
private List<User> result;
private String status_message;
private int status_code;
public int getStatus_code() {
return status_code;
}
public void setStatus_code(int status_code) {
this.status_code = status_code;
}
public List<User> getResult() {
return result;
}
public void setResult(List<User> result) {
this.result = result;
}
public String getStatus_message() {
return status_message;
}
public void setStatus_message(String status_message) {
this.status_message = status_message;
}
}
方法内的活动:
/*Test Login */
private void loginUser(){
ApiInterface apiInterface = ApiClient.getClient().create(ApiInterface.class);
getUsers = apiInterface.getUsers("[email protected]","12345678");
getUsers.subscribeOn(Schedulers.io()).
observeOn(AndroidSchedulers.mainThread()).
subscribe(new Subscriber<UserResponse>(){
@Override
public void onSubscribe(Subscription s) {
}
@Override
public void onNext(UserResponse userResponse) {
}
@Override
public void onError(Throwable t) {
}
@Override
public void onComplete() {
}
});
}
请妥善清理并重建项目。 –
清理和重建后没有任何影响 –
我认为您导入了错误的Subscriber类 –