按字母加载联系人的数

来源:互联网 发布:php旅游网站文献 编辑:程序博客网 时间:2024/05/01 03:44

一、源码

Uri uri = Phone.CONTENT_URI.buildUpon().appendQueryParameter(Data.EXTRA_ADDRESS_BOOK_INDEX, "true").build();Cursor cursor = getContentResolver().query(uri,new String[] { Phone.DISPLAY_NAME, Phone.NUMBER }, null,null, Contacts.SORT_KEY_ALTERNATIVE);Bundle bundle = cursor.getExtras();if (bundle.containsKey(Data.EXTRA_ADDRESS_BOOK_INDEX_TITLES)&& bundle.containsKey(Data.EXTRA_ADDRESS_BOOK_INDEX_COUNTS)) {String sections[] = bundle.getStringArray(Data.EXTRA_ADDRESS_BOOK_INDEX_TITLES);int counts[] = bundle.getIntArray(Data.EXTRA_ADDRESS_BOOK_INDEX_COUNTS);int total = 0;for (int i = 0; i < sections.length; i++) {Log.e("abc", "section:" + sections[i] + ":" + counts[i]);total += Integer.valueOf(counts[i]);}// cursor.moveToPosition(arg0)Log.e("abc", "cnt:" + total + ":" + cursor.getCount());}cursor.moveToFirst();do {int index = cursor.getColumnIndex(Phone.DISPLAY_NAME);int num = cursor.getColumnIndex(Phone.NUMBER);Log.e("abc","name:" + cursor.getString(index) + ":"+ cursor.getString(num));} while (cursor.moveToNext());}



二、解析

第三行:appendQueryParameter(Data.EXTRA_ADDRESS_BOOK_INDEX, "true",就是告诉contentProvider需要额外加入字母索引到cursor

第11--14行,就是获取出所有字母索引及个数


0 0