I write new article abotu using Content Provider. I get info about
person's name and person's phones in contact list. But I can not get e-
mail of person. Help. I have found URI -
Contacts.ContactMethods.CONTENT_EMAIL_URI, but it not help
My code:
Java:
package maximyudin.contentproviderexample;
import android.app.Activity;
import android.content.Context;
import android.content.ContentUris;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts;
import android.provider.Contacts.People;
import android.provider.Contacts.PeopleColumns;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.SimpleCursorTreeAdapter;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class ContentProviderExample extends Activity {
private int mGroupIdColumnIndex;
private String mPhoneNumberProjection[] = new String[] {
People.Phones._ID, People.Phones.NUMBER
};
private ExpandableListAdapter mAdapter;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
TabHost tabs = (TabHost)this.findViewById(R.id.tabs);
tabs.setup();
TabSpec one = tabs.newTabSpec("one");
one.setContent(R.id.content1);
one.setIndicator("Contacts",
this.getResources().getDrawable(R.drawable.person));
tabs.addTab(one);
TabHost.TabSpec two = tabs.newTabSpec("two");
two.setContent(R.id.content2);
two.setIndicator("Empty");
tabs.addTab(two);
tabs.setCurrentTab(0);
final ExpandableListView contactlist =
(ExpandableListView)this.findViewById(R.id.contactlist);
// Query for people
Cursor groupCursor = managedQuery(People.CONTENT_URI,
new String[] {People._ID, People.NAME}, null,
null, null);
// Cache the ID column index
mGroupIdColumnIndex =
groupCursor.getColumnIndex(People._ID);
// Set up our adapter
mAdapter = new MyExpandableListAdapter(groupCursor,
this,
android.R.layout.simple_expandable_list_item_1,
android.R.layout.simple_expandable_list_item_1,
new String[] {People.NAME}, // Name for group
layouts
new int[] {android.R.id.text1},
new String[] {People.NUMBER}, // Number for child
layouts
new int[] {android.R.id.text1});
contactlist.setAdapter(mAdapter);
}
public class MyExpandableListAdapter extends
SimpleCursorTreeAdapter {
public MyExpandableListAdapter(Cursor cursor, Context
context, int groupLayout,
int childLayout, String[] groupFrom, int[]
groupTo, String[] childrenFrom,
int[] childrenTo) {
super(context, cursor, groupLayout, groupFrom,
groupTo, childLayout, childrenFrom,
childrenTo);
}
@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {
// Given the group, we return a cursor for all the
children within that group
// Return a cursor that points to this contact's
phone numbers
Uri.Builder builder = People.CONTENT_URI.buildUpon();
ContentUris.appendId(builder,
groupCursor.getLong(mGroupIdColumnIndex));
builder.appendEncodedPath(People.Phones.CONTENT_DIRECTORY);
Uri phoneNumbersUri = builder.build();
// The returned Cursor MUST be managed by us, so we
use Activity's helper
// functionality to manage it for us.
return managedQuery(phoneNumbersUri,
mPhoneNumberProjection, null, null, null);
}
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---