Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

จะอ่านผู้ติดต่อทั้งหมดใน Android ได้อย่างไร?


ตัวอย่างนี้สาธิตเกี่ยวกับวิธีการอ่านรายชื่อติดต่อทั้งหมดใน Android

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

 

ในโค้ดด้านบน เราได้ดูรายการแล้ว

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

<รุ่นก่อนหน้า>นำเข้า android.annotation.TargetApi;นำเข้า android.content.ContentResolver;นำเข้า android.content.pm.PackageManager;นำเข้า android.database.Cursor; นำเข้า android.os.Build;นำเข้า android.os.Bundle;นำเข้า android.provider.ContactsContract;นำเข้า android.support.v4.app.ActivityCompat;นำเข้า android.support.v7.app.AppCompatActivity;นำเข้า android.widget.ArrayAdapter; นำเข้า android.widget.ListView นำเข้า java.util.ArrayList คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { สาธารณะ int สุดท้ายคงที่ REQUEST_READ_CONTACTS =79; รายการมุมมองรายการ; ArrayList mobileArray; @TargetApi (Build.VERSION_CODES.LOLLIPOP) @ แทนที่โมฆะสาธารณะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); ถ้า (ActivityCompat.checkSelfPermission (นี่ android.Manifest.permission.READ_CONTACTS) ==PackageManager.PERMISSION_GRANTED) { mobileArray =getAllContacts (); } อื่น ๆ { ขออนุญาต (); } รายการ =findViewById(R.id.list); อะแดปเตอร์ ArrayAdapter =ArrayAdapter ใหม่(นี้ android.R.layout.simple_list_item_1, android.R.R.id.text1, mobileArray); list.setAdapter (อะแดปเตอร์); } โมฆะส่วนตัว requestPermission() { if (ActivityCompat.shouldShowRequestPermissionRationale(this, android.Manifest.permission.READ_CONTACTS)) { // แสดงส่วน UI หากคุณต้องการแสดงเหตุผลที่นี่ !!! } อื่น ๆ { ActivityCompat.requestPermissions (นี่ สตริงใหม่ []{android.Manifest.permission.READ_CONTACTS}, REQUEST_READ_CONTACTS); } ถ้า (ActivityCompat.shouldShowRequestPermissionRationale (นี่ android.Manifest.permission.READ_CONTACTS)) { } อื่น { ActivityCompat.requestPermissions (นี่ สตริงใหม่ []{android.Manifest.permission.READ_CONTACTS}, REQUEST_READ_CONTACTS); } } @แทนที่โมฆะสาธารณะ onRequestPermissionsResult (int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case REQUEST_READ_CONTACTS:{ if (grantResults.length> 0 &&GrantResults[0] ==PackageManager.PERMISSION_GRANTED) { mobileArray =getAllContacts(); } อื่น ๆ { // สิทธิ์ถูกปฏิเสธ ปิดใช้งานฟังก์ชัน // ที่ขึ้นอยู่กับการอนุญาตนี้ } กลับ; } } } ArrayList ส่วนตัว getAllContacts() { ArrayList nameList =new ArrayList<>(); ContentResolver cr =getContentResolver (); เคอร์เซอร์ cur =cr.query (ContactsContract.Contacts.CONTENT_URI, null, null, null, null); if ((cur ! =null ? cur.getCount() :0)> 0) { while (cur ! =null &&cur.moveToNext()) { รหัสสตริง =cur.getString (cur.getColumnIndex (ContactsContract.Contacts._ID) )); ชื่อสตริง =cur.getString (cur.getColumnIndex ( ContactsContract.Contacts.DISPLAY_NAME)); nameList.add(ชื่อ); if (cur.getInt(cur.getColumnIndex( ContactsContract.Contacts.HAS_PHONE_NUMBER)))> 0) { Cursor pCur =cr.query ( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID) , สตริงใหม่[]{id}, null); ในขณะที่ (pCur.moveToNext ()) { สตริง phoneNo =pCur.getString (pCur.getColumnIndex ( ContactsContract.CommonDataKinds.Phone.NUMBER)); } pCur.close(); } } } if (cur ! =null) { cur.close(); } ส่งคืน nameList; }}

ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน AndroidManifest.xml

       <หมวดหมู่ android:name ="android.intent .category.LAUNCHER" />   

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์แล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ –

จะอ่านผู้ติดต่อทั้งหมดใน Android ได้อย่างไร?