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

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

「phoneList」は文字列の配列リストです。現在、私のデバイスではこのコードはうまく機能しますが、samsung デバイスではクラッシュします:

これで、arrayList が問題を引き起こしていることが確実にわかりました。phoneList の代わりに「00000」、「09878889」を配置すると、問題なく動作するからです。何をすべきか?ありがとう..

編集:

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 以上の場合は機能しないことがわかりました。なぜですか?

4

1 に答える 1

1

OR演算子がどのように機能するかを説明しましょう。

1)たとえば、名前フィールドがあります

Alex OR Garry という名前のすべてのレコードを取得するには、次のクエリを使用します。

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

2)たとえば、名前フィールドと年齢フィールドがあります

名前が Alex または age 22 のすべてのレコードを取得するには、次のクエリを使用します。

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

このようなことを試してください

于 2014-02-11T19:08:06.737 に答える