實現查詢當前聯絡人應用中聯絡人的id和姓名
阿新 • • 發佈:2019-01-24
1、佈局檔案
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/result" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/black" android:textSize="25dp" /> </LinearLayout>
2、MainActivity
3、在AndroidManifest檔案中增加讀取聯絡人記錄的許可權public class MainActivity extends Activity { private String[] columns = {Contacts._ID,//希望獲得ID值 Contacts.DISPLAY_NAME};//希望獲得姓名 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = (TextView)findViewById(R.id.result); tv.setText(getQueryData());//為標籤設定資料 } private String getQueryData(){ StringBuilder sb = new StringBuilder();//用於儲存字串 ContentResolver resolver = getContentResolver();//獲得ContentResolver物件 Cursor cursor = resolver.query(Contacts.CONTENT_URI, columns, null, null, null);//查詢記錄 int idIndex = cursor.getColumnIndex(columns[0]);//獲得id記錄的索引值 int displayNameIndex = cursor.getColumnIndex(columns[1]);//獲得姓名記錄的索引值 for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {// 迭代全部記錄 int id = cursor.getInt(idIndex); String displayName = cursor.getString(displayNameIndex); sb.append(id + ": " + displayName + "\n"); } cursor.close();//關閉Cursor return sb.toString();//返回查詢結果 } }
<uses-permission android:name="android.permission.READ_CONTACTS"/>