将整个 phone 的联系人列表添加到应用程序数据库中

Adding entire phone's contact list into application database

我是 Android 的新手,正在开发一个应用程序,我需要在应用程序启动时将整个 phone 的联系人列表存储到我的应用程序数据库中。

当我在网上搜索时,我得到了在您的应用程序数据库中一个一个地插入联系人的答案。但我想将整个联系人列表放入我的数据库中,然后处理该联系人数据库。

如有任何帮助,我们将不胜感激。谢谢:)

我的代码片段在下面的答案评论中。

似乎没有努力!无论如何,您可以使用 ContentResolver class 。它提供了您设备联系人列表中的联系人列表。这是相关代码,

ContentResolver cr = getContentResolver();
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
            null, null, null, null);
    if (cur.getCount() > 0) {
        while (cur.moveToNext()) {
              String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
              String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
              if (Integer.parseInt(cur.getString(
                    cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                 Cursor pCur = cr.query(
                           ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                           null,
                           ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
                           new String[]{id}, null);
                 while (pCur.moveToNext()) {
                     String phoneNo = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
              Log.e("TAG","Name :: "+Name);
              Log.e("TAG","Phone no :: "+phoneNo);

                 }
                pCur.close();
            }
        }
    }

希望您知道如何将这些联系人一一存储在 sqlite 数据库 中。如有任何疑问,请随时询问

你需要做两件事:

1。检索所有联系人

检查这个 Android developer link :

此 link 包含如何:

  1. 正在检索联系人列表
  2. 正在检索联系人的详细信息

2。将所有数据存储到数据库

使用'OrmLite' 或任何形式将此数据添加到数据库中。 这是 OrmLite.

的指南

希望对您有所帮助。