【问题标题】:Get phone numbers and join with my own table获取电话号码并加入我自己的餐桌
【发布时间】:2026-01-01 01:55:01
【问题描述】:

我知道如何获取电话号码:

Cursor cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, selection, where, whereArgs, orderBy);

但我有自己的表格,在我的应用中将某些电话号码标记为“列入黑名单”。我想把电话号码加入这张桌子。发出两个数据库请求然后遍历游标以匹配数字需要很长时间。我怎样才能以一种聪明有效的方式做到这一点?

问候,

【问题讨论】:

    标签: android join phone-number


    【解决方案1】:

    纯理论:将列入黑名单的号码写入表格,并使保存该号码的列唯一。不要重复检查列入黑名单的号码。只需尝试在您的黑名单号码列中插入并抓住它会重复的情况。想法?

    【讨论】:

    • 这样会更快,但实际上还是太慢了。我正在加载一个可能包含 600 个项目的列表。 600 次插入会花费太长时间,而连接则足够快。
    【解决方案2】:

    我发现CursorJoiner 很可能是要走的路。如果您找到更好的方法,请纠正我。

    【讨论】: