- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我收到这个错误:
FATAL EXCEPTION: main
E/AndroidRuntime: java.lang.AbstractMethodError: abstract method not implemented
at retrofit.RxJavaCallAdapterFactory.get(RxJavaCallAdapterFactory.java)
at retrofit.Retrofit.nextCallAdapter(Retrofit.java:189)
at retrofit.Retrofit.callAdapter(Retrofit.java:175)
at retrofit.MethodHandler.createCallAdapter(MethodHandler.java:45)
at retrofit.MethodHandler.create(MethodHandler.java:26)
at retrofit.Retrofit.loadMethodHandler(Retrofit.java:151)
at retrofit.Retrofit$1.invoke(Retrofit.java:132)
at $Proxy0.getPosts(Native Method)
尝试在改造中使用 RxJavaCallAdapterFactory 时。我正在使用 com.squareup.retrofit:retrofit:2.0.0-beta1
和 com.squareup.retrofit:adapter-rxjava:2.0.0-beta1
.
这是我创建 api 接口(interface)的方式:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(FORUM_SERVER_URL)
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
mForumApi = retrofit.create(ForumApi.class);
FORUM_SERVER_URL 是
private static final String FORUM_SERVER_URL = "http://jsonplaceholder.typicode.com";
我的接口(interface)方法是:
@GET("/posts")
public Observable<List<Post>> getPosts();
我通过以下方式调用它:
mForum.getApi()
.getPosts()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<Post>>() {
@Override
public void onCompleted() {}
@Override
public void onError(Throwable e) {}
@Override
public void onNext(List<Post> posts) {
mView.displayPosts(posts);
}
});
}
getApi 返回 mForumApi
getPosts是错误发生的地方,是API调用
最佳答案
对我来说,事实证明我使用的是不同的组件测试版
更改(注意 beta1):
compile 'com.squareup.retrofit:converter-simplexml:2.0.0-beta2'
compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta1'
到(现在是 beta2)
compile 'com.squareup.retrofit:converter-simplexml:2.0.0-beta2'
compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2'
让它对我有用。
愚蠢的错误但是是的......
关于android - 在 Retrofit 2 上使用 RxJavaCallAdapterFactory 时出现 AbstractMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33077292/
我想将 retrofit 与 RxJava 集成,但它无法解析符号 'RxJavaCallAdapterFactory'。 这是我的代码 RetrofitService.java import io.
我正在尝试按照本文中的指南使用 Retrofit 2 和 RxJava https://inthecheesefactory.com/blog/retrofit-2.0/en 在“RxJava 与 C
我的应用程序需要下载并解析一个大的 JSON 文件。为了避免任何与内存相关的问题,我正在自定义转换器中分批解析来自响应对象的输入流,每批 1000 个 json 对象。 一切都运行良好,直到我想将解析
考虑以下 OkHttp 和 Retrofit 的初始化: public static SomeServiceRestInterface newRestService(String apiUrl) {
我收到这个错误: FATAL EXCEPTION: main E/AndroidRuntime: java.lang.AbstractMethodError: abstract method not
我是一名优秀的程序员,十分优秀!