3

WhatsApp と同様に、ユーザーの電話からどの連絡先が自分のアプリを使用しているかを判断しようとしています。Cursor に連絡先のリストがあり、連絡先のリストをデータベースと比較して、誰がアプリを使用しているかを確認する効率的な方法を見つけようとしています。私はこのようにすることができます:

//for each contact
while (this.cursor.moveToNext()) 
    {
        String phoneNumber = cursor.getString(2);
        String sanitizedPhoneNumber = phoneNumber.replaceAll("\\D", "");

        //query db to see if user exists
        boolean userExists = restClient.checkIfUserExists(sanitizedPhoneNumber);

        //save all results in hashmap
        //"phoneNumber":"exists"
        //"5556781234":"true"

    }

このようにすると、連絡先の数によっては、Web サービスへの API 呼び出しが何百回も連続して行われる可能性があるため、代替手段を探しています。より良い方法はありますか?SyncAdapter を使用する必要がありますか?

4

1 に答える 1

2

より良い方法があるかもしれませんが、最初にデバイスで電話番号のリストを作成してから、このリストを取得するエンドポイントに対して単一の API 呼び出しを行うことができます。次に、エンドポイントに既知の番号のリストを返信させます。このようにして、作成する HTTP リクエストは 1 つだけです。

于 2013-11-11T08:00:47.390 に答える