آموزش به دست آوردن Contact های تلفن در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش به دست آوردن Contact های تلفن در برنامه نویسی اندروید می پردازیم در این آموزش شما یاد می گیرید که چه طور نام و شماره افرادی که در گوشی است را به دست بیارید این مطلب تنها جنبه آموزشی دارد هر گون سو استفاده به عهده خود کاربر است و ما هیچ گونه پاسخگو نیستیم در ادامه با ما همراه باشید.
ابتدا کد های مربوط به layout ما به شکل زیر می شود
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#abc"> <ScrollView android:id="@+id/scrollView1" android:layout_width="wrap_content" android:layout_height="match_parent" > <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="25sp" android:text="" /> </ScrollView> </LinearLayout> |
در بالا یک LinearLayout داریم که در آن یک ScrollView قرار دارد و در Scroll View ما یک TextView برای نمایش شماره و نام قرار گرفته است.
سپس به فایل AndroidManifest.xml رفته و دسترسی زیر را اضافه کنید.
1 | <uses-permission android:name="android.permission.READ_CONTACTS"/> |
و کد مربوط به اکتیویتی ما همانند زیر می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package ir.programchi; import android.os.Bundle; import android.provider.ContactsContract; import android.widget.TextView; import android.app.Activity; import android.database.Cursor; public class MainActivity extends Activity { TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView)findViewById(R.id.text1); Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds. Phone.CONTENT_URI, null,null,null, null); while (phones.moveToNext()) { String name=phones.getString(phones.getColumnIndex( ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String phoneNumber = phones.getString(phones.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER)); tv.append(name+"->"+phoneNumber+"\n"); } phones.close(); } } |
برای اینکه شماره ها را دریافت کنیم باید دیتابیس آن را به دست بیاریم پس از نوع متغیریه Cursor برای نگه داری شمار های به دست آمده (منظور دیتابیس است) استفاده می کنیم.
برای اینکه نام هر شماره را دریافت کنیم باید از ستون آن , آن را استخراج کنیم و برای اینکه شماره را نیز دریافت کنیم باید از ستون آن استفاده کنیم به کد بالا دقت کنید منظورم از ستون را متوجه خواهید شد سپس با استفاده از while تمامی آن را به TextView بالا append (اضافه) کردیم. دقت کنید دسترسی بالا را حتما اضافه کنید در غیر اینصورت برنامه خطا خواهد داد.
این آموزش هم به پایان رسید.
موفق و موید باشید.
بسیار ممنون