Hi ildus,

Thanks for the sample! I was able to get update to work and figure out
where we differ.

I was using the personID to do multiple deletes or updates. The logic
was similar to query where we use the Person id to query the phone
database for multiple phone records that are associated with the
Person.
Unfortunately what works for query does not work for update or delete.
For update or delete we have to use the Phone ID to access the single
row in the phone database to delete or update.  So now I do a query
using PersonID and get all the phone records for the person. Then I
get each record's PhoneID and use it to update individual rows in the
phone database. This approach works.
Kindly let me know if there is a better approach.

Thanks for all the help.
Sam


On Feb 24, 4:21 pm, rex <iha...@gmail.com> wrote:
> Sam,
>
> I think the problem is how you created thecontactentry. Try this
> method to createcontact
> replace CallCardProvider object with yours actual parameters. Then try
> delete orupdatethis entry using methods above.
> Hope it helps.
>
> Ildus
>  //CreateContact//
>             public long createContactEntry(CallCardProvider ccp) {
>                 ContentValues values = new ContentValues();
>                 Uri phoneUri = null;
>
>                 values.put(Contacts.People.NAME, mCtx.getText
> (R.string.nameStartWith)+" "+ccp.getName());
>                 //1 = the newcontactis added to favorites
>                 //0 = the newcontactis not added to favorites
>                 values.put(Contacts.People.STARRED,0);
>                 values.put(People.NOTES, ccp.getPostNumber());
>
>                 //AddPhoneNumbers
>                 Uri uri = this.mCtx.getContentResolver().insert
> (Contacts.People.CONTENT_URI, values);
>
>                 long contactId = Long.parseLong(uri.getLastPathSegment());
>                 Log.i(TAG,"UriPeople="+uri.toString()+" id 
> created="+contactId);
>                 phoneUri = Uri.withAppendedPath(uri,
> Contacts.People.Phones.CONTENT_DIRECTORY);
>                 Log.i(TAG, "phoneUri="+phoneUri.toString());
>                 values.clear();
>                 values.put(Contacts.Phones.TYPE,
> Phones.TYPE_CUSTOM);//.TYPE_MOBILE);
>                 values.put(Contacts.Phones.LABEL, ccp.getNotes());
>                 values.put(Contacts.Phones.NUMBER, 
> ccp.getNumber());//.split(",")
> [0]);
>                 Uriphone= mCtx.getContentResolver().insert(phoneUri, values);
>                 long phoneId = Long.parseLong(phone.getLastPathSegment());
>                 Log.i(TAG, "Phonecreated="+phone.toString());
>                 Uri groupMember = Contacts.GroupMembership.CONTENT_URI;
>                 Uri group = Contacts.Groups.CONTENT_URI;
>                 Cursor c = mCtx.getContentResolver().query(group, new String[]
> {Groups._ID},
>                                 
> Groups.NAME+"='"+Groups.GROUP_MY_CONTACTS+"'", null, null);
>                 long groupId = 0;
>                 if(c.getCount()>0 && c.moveToFirst())
>                         groupId = c.getLong(c.getColumnIndex(Groups._ID));
>                 c.close();
>                 if(groupId ==0) {
>                         Log.e(TAG, "groupId=0 Insert to group is skipped");
>                         return phoneId;
>                 }
>                 values.clear();
>                 values.put(Contacts.GroupMembership.PERSON_ID, contactId);
>                 values.put(Contacts.GroupMembership.GROUP_ID, groupId);
>                 groupMember = mCtx.getContentResolver().insert(groupMember,
> values);
>                 Log.i(TAG, "groupMemberUri = "+groupMember.toString());
>                 return phoneId;
>             }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to