调试日志和报错信息:
04-27 13:00:37.173 6607-6655/com.example.elmliu.uniport D/===AVOS Cloud===: LogUtil$avlog->d->43: {"result":[{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"type":"Object"},{"__type":"Object"}]}
04-27 13:00:37.184 6607-6655/com.example.elmliu.uniport E/===AVOS Cloud===: Error during response parsed->43: err:java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
前端函数:
@Override
public void onTrendRefresh(final GeneralTrendFragment fragment, int trend_type) {
Map<String, Integer> params = new HashMap<>();
params.put("lastTime", 0);
AVCloud.callFunctionInBackground("fetchNewPostFour", params, new FunctionCallback<ArrayList<AVObject>>() {
@Override
public void done(ArrayList<AVObject> object, AVException e) {
fragment.finishRefresh();
if (e == null && object != null) {
// ArrayList<AVObject> list = (ArrayList<AVObject>) object;
Log.d(TAG, "done: size: " + object.size());
Log.d(TAG, "done: " + object.toString());
} else {
GeneralUtil.showToast("获取失败");
if (e != null) {
Log.d(TAG, "done: call error: " + e.toString());
}
}
}
});
}
根据调试结果,返回的数组为null
云函数:
@EngineFunction("fetchNewPostFour")
public static ArrayList<AVObject> fetchNewPostFour(@EngineFunctionParam("lastTime") int lastTime)
throws AVException{
AVQuery<AVObject> query = new AVQuery<>("PostFour");
query.include("toUser");
query.include("toUser.school");
query.whereEqualTo("isValid", true);
query.orderByDescending("createdAt");
query.setLimit(15);
List<AVObject> list = query.find();
ArrayList<AVObject> resultList = new ArrayList<>();
for (AVObject object : list) {
AVObject postItem = new AVObject();
// Put main contents
postItem.put("id", object.getObjectId());
postItem.put("time", object.getCreatedAt().toString());
postItem.put("content", object.getString("text"));
postItem.put("toCircle", CIRCLE_FOUR);
postItem.put("like_num", object.get("likeNum"));
postItem.put("reply_num", object.get("replyNum"));
// Put userinfo
AVObject user = new AVObject();
user.put("id", object.getAVObject("toUser").getObjectId());
user.put("username", object.getAVObject("toUser").getString("username"));
user.put("avatar_url", object.getAVObject("toUser").getString("avatar"));
ArrayList<String> image_paths = new ArrayList<>();
postItem.put("image_paths", image_paths);
resultList.add(postItem);
}
return resultList;
}
appId: cvKrEbRV55FItUPuHiGlotiv-gzGzoHsz