Wednesday, 18 November 2015

Get all phone contacts using android

hi guys i going to explain get mobile contacts from phone
 it's very simple


Get Name
cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));

Get Phone number 
cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

Get Phone email

cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));


First We have to add below  permission in Adroidmanifast.xml
<uses-permission android:name="android.permission.READ_CONTACTS" />

activity_main.xml

<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:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:paddingBottom="@dimen/activity_vertical_margin"    tools:context="com.readcontact.Contactlist"    android:orientation="vertical">
    <Button
        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/sendmail"        android:text="Send Me"        android:layout_gravity="left"/>

<ListView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:id="@+id/contlist">
</ListView>

</LinearLayout>



mainactivity.java
package com.readcontact;

import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.support.v7.app.ActionBarActivity;
import android.util.SparseBooleanArray;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;


public class Contactlist extends ActionBarActivity {
    ListView Conlist;
    private ArrayList<String> arrayList = new ArrayList<>();
    private  ArrayList<String> namelist = new ArrayList<>();
    Button SendMe;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_contactlist);

        Conlist = (ListView)findViewById(R.id.contlist);
        SendMe = (Button)findViewById(R.id.sendmail);


        ContentResolver cr = getContentResolver();
        Cursor cur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                null, null, null, null);

        if (cur.getCount()>0){
            while(cur.moveToNext()){
                String name = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                arrayList.add(name);
            }
        }
        Conlist.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
       ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice,arrayList);
        Conlist.setAdapter(arrayAdapter);

        SendMe.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                SparseBooleanArray checkd = Conlist.getCheckedItemPositions();

                for (int i = 0; i < Conlist.getCount(); i++) {
                    if (checkd.get(i)) {
                        namelist.add(arrayList.get(i).toString());
                    }
                }

                String mystring = namelist.toString();
                Toast.makeText(getApplicationContext(), mystring, Toast.LENGTH_LONG).show();
                namelist.clear();
            }
        });

        
    }

    @Override    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_contactlist, menu);
        return true;
    }

    @Override    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();

        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}


for more details
http://www.coderzheaven.com/2011/06/13/get-all-details-from-contacts-in-android/




No comments:

Post a Comment