Quickblox requestBuilder [或]

时间:2014-02-10 14:23:33

标签: java android arraylist quickblox custom-object

requestBuilder.or("userPhone",myPhone,phoneList);
        }
    }

    QBCustomObjects.getObjects("image", requestBuilder, new QBCallbackImpl() {

“phoneList”是字符串的arrayList。 现在在我的设备上这个代码运行良好,但在三星设备上我崩溃了: “java.lang.IllegalArgumentException:索引147处的查询中的非法字符:https://api.quickblox.com/data/image ..”

现在我肯定知道arrayList出现了问题,因为如果我只用“00000”,“09878889”来代替phoneList - 它的工作正常。 该怎么办? 感谢..

编辑:

ArrayList<String> al = new ArrayList<String>();
            HashSet<String> hs = new HashSet<String>();
            hs.addAll(phoneList);
            al.clear();
            al.addAll(hs);

            String[]arrString = new String [al.size()+1];
            for (int j = 0; j < al.size(); j++) {
                String str = al.get(j).toString();
                arrString[j+1]= str;
            }
            arrString[0]= myPhone;
            requestBuilder.or("userPhone",arrString);

这是我的解决方案,但我发现如果“arrString”大于600+它不起作用,为什么会这样?

1 个答案:

答案 0 :(得分:1)

让我解释 OR 运算符的工作原理:

1)例如,您有名称字段

要获取名为Alex OR Garry的所有记录,请使用下一个查询:

requestBuilder.or("name", "Alex", "Garry");

2)例如,您有名称字段和年龄字段

要获取名称为Alex或年龄22的所有记录,请使用下一个查询:

requestBuilder.or("name", "Alex");
requestBuilder.or("age", "22");

尝试像这样的somtehing