android.provider.ContactsContract.Contacts表中所有字段之详解

1.  ContactsContract.Contacts.TIMES_CONTACTED= "times_contacted"           (int)     

    联系人被联系的次数

2.  ContactsContract.Contacts.CONTACT_STATUS= "contact_status"             (string)      

   联系人最新的状态

3.  ContactsContract.Contacts.CUSTOM_RINGTONE= "custom_ringtone"         (string uri) 

   自定义的联系人的铃声,如果没有定义该属性,则使用系统默认的铃声

4.  ContactsContract.Contacts.HAS_PHONE_NUMBER= "has_phone_number"      (0 or1)

    如果值为1,则该联系人至少有一个电话号码;如果值为0,则该联系人没有电话号码

5.  ContactsContract.Contacts.PHONETIC_NAME= "phonetic_name"

<
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
请参考以下代码: ```java import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class ContactActivity extends Activity { private ListView contactsListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_contact); contactsListView = findViewById(R.id.contacts_list_view); String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME }; Cursor cursor = getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, projection, null, null, null); String[] fromColumns = new String[] { ContactsContract.Contacts.DISPLAY_NAME }; int[] toViews = new int[] { android.R.id.text1 }; SimpleCursorAdapter adapter = new SimpleCursorAdapter( this, android.R.layout.simple_list_item_1, cursor, fromColumns, toViews, 0); contactsListView.setAdapter(adapter); } } ``` 上述代码实现了读取系统联系人的姓名,并将其显示在界面中。要同时显示联系人的电话,我们需要在查询Contacts表时获取联系人的id,并在查询Data表时根据联系人id获取相应的电话信息。代码如下: ```java import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class ContactActivity extends Activity { private ListView contactsListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_contact); contactsListView = findViewById(R.id.contacts_list_view); String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME }; Cursor cursor = getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, projection, null, null, null); String[] fromColumns = new String[] { ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER }; int[] toViews = new int[] { android.R.id.text1, android.R.id.text2 }; SimpleCursorAdapter adapter = new SimpleCursorAdapter( this, android.R.layout.simple_list_item_2, cursor, fromColumns, toViews, 0); adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() { @Override public boolean setViewValue(android.view.View view, Cursor cursor, int columnIndex) { if (columnIndex == cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)) { String phoneNumber = cursor.getString(columnIndex); ((android.widget.TextView) view).setText(phoneNumber); return true; } return false; } }); contactsListView.setAdapter(adapter); } } ``` 上述代码中,我们使用了SimpleCursorAdapter来将数据显示在ListView中。同时,我们还实现了ViewBinder接口,用于在显示电话信息时将其绑定到正确的TextView上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值