0% found this document useful (0 votes)
5 views2 pages

Content Provider

Uploaded by

TAIMOOR HASSAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views2 pages

Content Provider

Uploaded by

TAIMOOR HASSAN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

AndroidMainfest.

xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.BCApp"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity.kt
package com.example.bcapp
import android.content.pm.PackageManager
import android.database.Cursor
import android.os.Bundle
import android.provider.ContactsContract
import android.util.Log
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import com.example.bcapp.databinding.ActivityMainBinding
class MainActivity: AppCompatActivity() {
lateinit var binding: ActivityMainBinding
val uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI
val selectedColumns = arrayOf(
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
)
var cursor: Cursor? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.btnFirstContact.setOnClickListener {
cursor = contentResolver.query(
uri,
selectedColumns,
null,
null
)
if(cursor != null && cursor?.moveToFirst() == true){
val count = cursor?.count
val name = cursor?.getString(0)
val number = cursor?.getString(1)
binding.txtView.setText(count.toString())
binding.txtName.setText(name)
binding.txtContactNo.setText(number)
}
}
binding.btnNextContact.setOnClickListener {
if(cursor?.isClosed != true && cursor?.moveToNext() == true){
// val count = cursor?.count
val name = cursor?.getString(0)
val number = cursor?.getString(1)
// binding.txtView.setText(count.toString())
binding.txtName.setText(name)
binding.txtContactNo.setText(number)
}
}
// Log.i("Contacts UR", uri.toString())
}
}

You might also like