Android4.4+Parse.com查询指针数组

Android 4.4 + Parse.com query array of pointers

指针数组中的有线解析查询无法在下面的 4.4 上运行,但在 5 + 上一切正常,

ParseQuery<ParseObject> firstQuery = new ParseQuery<ParseObject>(CLASSNAME);
    firstQuery.whereEqualTo(COLOUMNNAME1, ParseUser.getCurrentUser());

    ParseQuery<ParseObject> secondQuery = new ParseQuery<ParseObject>(CLASSNAME);
    secondQuery.whereEqualTo(COLOUMNNAME2, ParseUser.getCurrentUser());

    List<ParseQuery<ParseObject>> queries = new ArrayList<ParseQuery<ParseObject>>();
    queries.add(firstQuery);
    queries.add(secondQuery);

    ParseQuery<ParseObject> mainQuery = ParseQuery.or(queries);

第二个查询是解析用户指针的数组。

注意:在Android 5 return 中的所有匹配数据。 在 Android 4.4 return 中,所有匹配的数据仅在第一个查询中。

从 5 天前开始似乎已经修复了此问题,但没有其他反馈表明它有效:https://github.com/parse-community/parse-server/issues/175

确保您使用的是最新的解析服务器,也许它会起作用。

除此之外,还提供了两种解决方案: 1) 重构您的代码以存储 objectId 数组而不是指针。这没有坏。

2) 重构您的代码,而不是调用 whereEqualTo,而是调用 whereContainsAll,并传递一个包含您需要的指针的元素数组。这个功能似乎没有坏。