ContactsContract.Contacts中的所有字段

ContactsContract.Contracts实现了4个接口,并从4个接口中,继承了不同的字段,一共有23个如下:

ContactsContract.Contacts.TIMES_CONTACTED = "times_contacted"

The number of times a contact has been contacted

ContactsContract.Contacts.CONTACT_STATUS = "contact_status"

Contact's latest status update.

ContactsContract.Contacts.CUSTOM_RINGTONE = "custom_ringtone"

URI for a custom ringtone associated with the contact. If null or missing, the default ringtone is used.

ContactsContract.Contacts.HAS_PHONE_NUMBER = "has_phone_number"

An indicator of whether this contact has at least one phone number. "1" if there is at least one phone number, "0" otherwise.

ContactsContract.Contacts.PHONETIC_NAME = "phonetic_name"

Pronunciation of the full name in the phonetic alphabet specified by PHONETIC_NAME_STYLE.

ContactsContract.Contacts.PHONETIC_NAME_STYLE = "phonetic_name_style"

The phonetic alphabet used to represent the PHONETIC_NAME. See PhoneticNameStyle.

ContactsContract.Contacts.CONTACT_STATUS_LABEL = "contact_status_label"

The resource ID of the label describing the source of contact status, e.g. "Google Talk". This resource is scoped by the CONTACT_STATUS_RES_PACKAGE.

ContactsContract.Contacts.LOOKUP_KEY = "lookup"

An opaque value that contains hints on how to find the contact if its row id changed as a result of a sync or aggregation.

ContactsContract.Contacts.CONTACT_STATUS_ICON = "contact_status_icon"

The resource ID of the icon for the source of contact status. This resource is scoped by the

CONTACT_STATUS_RES_PACKAGE.

ContactsContract.Contacts.LAST_TIME_CONTACTED = "last_time_contacted"

The last time a contact was contacted.

ContactsContract.Contacts.DISPLAY_NAME = "display_name"

The display name for the contact.

ContactsContract.Contacts.SORT_KEY_ALTERNATIVE = "sort_key_alt"

Sort key based on the alternative representation of the full name, DISPLAY_NAME_ALTERNATIVE. Thus for Western names, it is the one using the "family name first" format.

ContactsContract.Contacts.IN_VISIBLE_GROUP = "in_visible_group"

Lookup value that reflects the GROUP_VISIBLE state of any ContactsContract.CommonDataKinds.GroupMembership for this contact.

ContactsContract.Contacts._ID = "_id"

The unique ID for a row.

ContactsContract.Contacts.STARRED = "starred"

Is the contact starred?

ContactsContract.Contacts.SORT_KEY_PRIMARY = "sort_key"

Sort key that takes into account locale-based traditions for sorting names in address books.

ContactsContract.Contacts.DISPLAY_NAME_ALTERNATIVE = "display_name_alt"

An alternative representation of the display name, such as "family name first" instead of "given name first" for Western names. If an alternative is not available, the values should be the same as DISPLAY_NAME_PRIMARY

ContactsContract.Contacts.CONTACT_PRESENCE = "contact_presence"

Contact presence status. See ContactsContract.StatusUpdates for individual status definitions.

ContactsContract.Contacts.DISPLAY_NAME_SOURCE = "display_name_source"

The kind of data that is used as the display name for the contact, such as structured name or email address. See DisplayNameSources. TODO: convert DisplayNameSources to a link after it is un-hidden

ContactsContract.Contacts.CONTACT_STATUS_RES_PACKAGE = "contact_status_res_package"

The package containing resources for this status: label and icon.

ContactsContract.Contacts.CONTACT_STATUS_TIMESTAMP = "contact_status_ts"

The absolute time in milliseconds when the latest status was inserted/updated.

ContactsContract.Contacts.PHOTO_ID = "photo_id"

Reference to the row in the data table holding the photo.

ContactsContract.Contacts.SEND_TO_VOICEMAIL = "send_to_voicemail"

Whether the contact should always be sent to voicemail. If missing, defaults to false.

 

    listColumnNames()            

 
 
  1. private Uri contactUri = ContactsContract.Contacts.; 
  2.  
  3. ContentResolver resolver = this.getContentResolver(); 
  4.  
  5. Cursor cursor = resolver.query(contactUri, nullnullnullnull); 
  6.  
  7. int columnNumber = cursor.getColumnCount(); 
  8.  
  9. for(int i = 0; i < columnNumber; i++) 
  10.  
  11.     String temp = cursor.getColumnName(i); 
  12.  
  13.     Log.e("listColumnNames""" + i + "\t" + temp); 
  14.  
  15.     cursor.close(); 

 


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/772922,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值