This tutorial help to learn basic knowledge about Content Provider and with the help of Content Resolver we will get all the contact from device.
What is Content Resolver?
The Content Resolver is provides access to own application and other applications content providers.Android provide number of content providers that store common data such as contact data, calendar data,and media files etc.
Screen of show all contact fron device
1.Read All Contact
What is Content Provider?
A content provider component Transefer data from one application to others with the help of ContentResolver class.What is Content Resolver?
The Content Resolver is provides access to own application and other applications content providers.Android provide number of content providers that store common data such as contact data, calendar data,and media files etc.
1.Read All Contact
package
com.example.contentproviderapp;
import
java.util.ArrayList;
import
android.app.ListActivity;
import
android.content.ContentResolver;
import
android.database.Cursor;
import
android.net.Uri;
import
android.os.Bundle;
import
android.provider.ContactsContract;
import
android.view.View;
import
android.widget.AdapterView;
import
android.widget.AdapterView.OnItemClickListener;
import
android.widget.ArrayAdapter;
import
android.widget.ListView;
import
android.widget.Toast;
public
class ReadContactPhoneActivity
extends ListActivity
{
ListView
lv;
ArrayList<String>
list;
ArrayAdapter<String>
adp;
ContentResolver
cr;
ArrayList<String>
idlist;
@Override
protected
void onCreate(Bundle
savedInstanceState) {
//
TODO Auto-generated method stub
super.onCreate(savedInstanceState);
lv
= getListView();
list
= new ArrayList<String>();
adp
= new
ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
lv.setAdapter(adp);
idlist
= new ArrayList<String>();
cr
= getContentResolver();
Uri
curi = ContactsContract.Contacts.CONTENT_URI;
String
[] cols =
{
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME
};
Cursor
c1 = cr.query(curi, cols, null,null, null);
while(c1.moveToNext())
{
idlist.add(c1.getString(0));
list.add(c1.getString(1));
adp.notifyDataSetChanged();
}
lv.setOnItemClickListener(new
OnItemClickListener()
{
@Override
public
void onItemClick(AdapterView<?>
arg0, View arg1, int arg2, long
arg3)
{
String
id = idlist.get(arg2);
Uri
puri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String
cols[]=
{
ContactsContract.CommonDataKinds.Phone._ID,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
String
select = ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?";
Cursor
pc = cr.query(puri, cols, select, new String[]{id}, null);
if(pc.getCount()==0)
{
Toast.makeText(ReadContactPhoneActivity.this,
"No Number", 2).show();
}
else
{
String
number="";
while(pc.moveToNext())
{
number
+= " " + pc.getString(1);
}
Toast.makeText(ReadContactPhoneActivity.this,
number, 2).show();
}
}
});
}
}
import
java.util.ArrayList;
import
android.net.Uri;
import
android.os.Bundle;
import
android.provider.ContactsContract;
import
android.app.Activity;
import
android.app.ListActivity;
import
android.content.ContentResolver;
import
android.database.Cursor;
import
android.util.Log;
import
android.view.Menu;
import
android.widget.ArrayAdapter;
import
android.widget.ListView;
public
class ReadEMailActivity extends
ListActivity
{
ListView
lv;
ArrayList<String>
list;
ArrayAdapter<String>
adp;
ContentResolver
cr;
@Override
protected
void onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
lv
= getListView();
list
= new ArrayList<String>();
adp
= new
ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
lv.setAdapter(adp);
cr
= getContentResolver();
Uri
pURI = ContactsContract.CommonDataKinds.Email.CONTENT_URI;
String
cols[]=
{
ContactsContract.CommonDataKinds.Email._ID,
ContactsContract.CommonDataKinds.Email.ADDRESS
};
Cursor
c = cr.query(pURI,cols , null, null, null);
int
rcount = c.getCount();
Log.e("Rows",rcount+"");
int
ccount = c.getColumnCount();
Log.e("Cols",ccount+"");
for(int
i=0;i<ccount;i++)
{
String
colname = c.getColumnName(i);
Log.e("Col
" + i, colname);
}
while(c.moveToNext())
{
String
id = c.getString(0);
String
mail = c.getString(1);
String
data = id + " : "+mail;
list.add(data);
adp.notifyDataSetChanged();
}
}
}