Android 无法使用RxJava和retrofit2创建终结点

Android 无法使用RxJava和retrofit2创建终结点,android,retrofit2,rx-java2,Android,Retrofit2,Rx Java2,我下面使用ReteroFit和RxJava来使用API,但在我的接口类中将类型从Call更改为Observer时,我收到了一条错误消息 类型“java.util.Observable”没有类型参数 ApiClient: public class ApiClient { public static final String BASE_URL = "*********"; private static Retrofit retrofit = null; public stat

我下面使用ReteroFit和RxJava来使用API,但在我的接口类中将类型从Call更改为Observer时,我收到了一条错误消息

类型“java.util.Observable”没有类型参数

ApiClient:

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;
    }


}
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;
    }
}
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
ApiInterface

public interface ApiInterface {
    @FormUrlEncoded
    @POST("user/get_user")
    Observable<UserResponse> getUsers(@Field("email") String email, @Field("password") String password);

}

您使用了错误的可观察类:

输入'java.util.Observable'


而不是使用rx java Obserable

Change
import java.util.Observable在您的代码中导入io.reactivex.Observable

就像前面的答案所说的,错误,导入以纠正此问题,删除导入,然后
alt+enter
导入新的导入

日志拦截器,用于将来的日志记录

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();

请确保将鼠标悬停在可观察到的importal上,因此我建议使用改进的日志拦截器来记录网络请求