我正在尝试确定用户手机中的哪些联系人正在使用我的应用程序,类似于 WhatsApp 所做的。我在光标中有联系人列表,并试图找出一种有效的方法来将联系人列表与我的数据库进行比较,以查看谁在使用该应用程序。我可以这样做:
//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 吗?