Android 查询日志有返回结果,但是返回onError

查询代码:

AVQuery<AVObject> query = new AVQuery<>("Test");
        query.findInBackground().subscribe(new Observer<List<AVObject>>() {
            public void onSubscribe(Disposable disposable) {}
            public void onNext(List<AVObject> students) {
                // students 是包含满足条件的 Student 对象的数组
                Log.d("----------------", students.size() + "onNest");
            }
            public void onError(Throwable throwable) {
                Log.d("----------------", "onError..." + throwable.getMessage());
            }
            public void onComplete() {
                Log.d("----------------", "onComplete");
            }
        });

返回结果:

2020-03-18 21:07:05.060 12217-12275/briefer.pet D/f: Request: curl -X GET 
-H Accept: application/json 
-H Content-Type: application/json 
-H User-Agent: LeanCloud-Java-SDK/6.4.2 
-H X-LC-Id: 2Vhp7hRwhTlNWlJ8tsdwoNLh-gzGzoHsz 
-H X-LC-Prod: 1 
-H X-LC-Session: {your_session} 
-H X-LC-Sign: {your_sign} 
https://api.palmpet.cn/1.1/classes/Test
2020-03-18 21:07:05.064 12217-12275/briefer.pet D/f: Response: 200 
server: openresty
date: Wed, 18 Mar 2020 13:07:06 GMT
content-type: application/json;charset=utf-8
vary: Accept-Encoding
cache-control: no-cache,no-store
pragma: no-cache
last-modified: Wed, 18 Mar 2020 12:30:33.770 GMT
strict-transport-security: max-age=31536000

{"results":[{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:02:42.607Z","updatedAt":"2020-03-18T02:02:42.607Z","objectId":"5e7181422a6bfd0075971aad"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:03:40.295Z","updatedAt":"2020-03-18T02:03:40.295Z","objectId":"5e71817c91db2800774050dd"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:05:08.521Z","updatedAt":"2020-03-18T02:05:08.521Z","objectId":"5e7181d491db2800774059e6"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:09:03.291Z","updatedAt":"2020-03-18T02:09:03.291Z","objectId":"5e7182bf1358aa0074ae230b"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:17:37.757Z","updatedAt":"2020-03-18T02:17:37.757Z","objectId":"5e7184c18a84ab00772143ec"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:18:56.218Z","updatedAt":"2020-03-18T02:18:56.218Z","objectId":"5e718510fc36ed00761289a7"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:23:19.677Z","updatedAt":"2020-03-18T02:23:19.677Z","objectId":"5e7186171358aa0074ae53fc"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:34:05.318Z","updatedAt":"2020-03-18T02:34:05.318Z","objectId":"5e71889d2a6bfd0075978c8f"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T02:34:44.603Z","updatedAt":"2020-03-18T02:34:44.603Z","objectId":"5e7188c45620710075c2335d"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T07:21:04.156Z","updatedAt":"2020-03-18T07:21:04.156Z","objectId":"5e71cbe02a6bfd00759b9196"},{"content":"\u5468\u4e8c\u4e24\u70b9\uff0c\u5168\u4f53\u6210\u5458","title":"\u5de5\u7a0b\u5e08\u5468\u4f1a","createdAt":"2020-03-18T12:30:33.767Z","updatedAt":"2020-03-18T12:30:33.767Z","objectId":"5e72146991db28007748eca1"}]}
2020-03-18 21:07:05.098 12217-12217/briefer.pet D/----------------: onError...Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference

日志有把列表返回了,但是为什么走onError,希望能得到回答,谢谢!!!

 AVQuery<AVObject> query = new AVQuery<>("Test");
 query.findInBackground().subscribe(new Observer<List<AVObject>>() {
    @Override
    public void onSubscribe(Disposable d) {
    }
    @Override
    public void onNext(List<AVObject> avObjects) {
    Log.d("----------------", avObjects.size() + "onNest");
    }
    @Override
    public void onError(Throwable e) {
    Log.d("----------------", "onError..." + e.getMessage());
    }
    @Override
    public void onComplete() {

    }
 });

您粘贴这个👆代码试一下?

效果还是一样的 sweat,报错还是这个

 onError...Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference

麻烦你再帮忙看一下,通过id查询可以的,但是查询列表还是不行

我引入的是这个包,android

implementation ('cn.leancloud:storage-android:6.4.2'){
    exclude group: 'com.alibaba', module: 'fastjson'
    exclude group: 'org.ligboy.retrofit2', module: 'converter-fastjson'
}
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'com.alibaba:fastjson:1.1.71.android'
implementation 'org.ligboy.retrofit2:converter-fastjson-android:2.1.0'

我试过了,使用最新的AndroidStudio sdk28新建的 Androidx项目,运行结果都是走的onError,如果使用sdk26不是Androidx项目新建的可以走onNext和onComplete,麻烦你们测试一下~~

你是否把 Observer 和 Disposable 引用的 package 搞错了?应该是 io.reactivex 下面的,但是 androidx 里也有同名的 class,这要注意。
我这边在 androidx 环境里执行是正常的。

import cn.leancloud.AVObject;
import cn.leancloud.AVQuery;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;

我这边引用的是这个包名

包名是没有错的,我可以把我的源码发给你么,你帮我看一下~

可以啊,你发上来吧,把 appid/appkey 去掉即可。

你好,折腾了四天,下载了你们的demo,是好的,自己的就是不好的,我试了好多次,看了你们所有文档也没有找到结果,最后想着再次新建项目吧,结果新建项目,不引入任何其他的依赖包,结果好了!

我大概总结了一下,应该是某个其他依赖包影响了返回结果,初步判断是友盟统计最新的某个依赖包影响了,具体原因不知道,我再实验实验,找到原因会写在帖子下面。

感谢您的回复,辛苦了~~