私のアプリケーションでは、Retrofit 2
とRxJava2
を使用して私のWebサーバーからデータを取得しようとしています。メソッドを解決できません。更新Roxjava android
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モデル:
0123私は私のAPIインターフェイスメソッドに登録するとしかし、私はエラーCannot Resolve method 'subscribe(anonymous org.reactivestreams.Subscriber<*Model Name*>
APIクライアントを取得しますアクティビティ内
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クラスをインポートしたと思います –