如何更新电子邮件,地址,昵称等在Android中接触的? [英] How to update E-mail, Address, Nickname, etc of a contact in Android?
本文介绍了如何更新电子邮件,地址,昵称等在Android中接触的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有谁知道该怎么做?甚至连一些教程会有所帮助。
我使用的设备与Android 2.1。
解决方案
我发现我自己..谢谢大家...
公共无效updateContact(字符串名称,字符串电话,ContentResolver的CR,活动一)
{
的String [] ARR = {DISPLAY_NAME,MIMETYPE,类型};
字符串,其中= ContactsContract.Data.DISPLAY_NAME +=?AND+
ContactsContract.Data.MIMETYPE +=?和+
将String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE)+=?;
的String [] PARAMS =新的String [] {名,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE,
将String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE_HOME)};
光标phoneCur = a.managedQuery(ContactsContract.Data.CONTENT_URI,NULL,NULL,NULL,NULL);
的for(int i = 0; I< phoneCur.getColumnCount() - 1;我++)
{
如果(phoneCur.moveToNext())
{
字符串s = phoneCur.getString(phoneCur.getColumnIndex(Data.DISPLAY_NAME));
字符串S1 = phoneCur.getString(phoneCur.getColumnIndex(Data.MIMETYPE));
字符串s2 = phoneCur.getString(phoneCur.getColumnIndex(Phone.TYPE));
如果(S!= NULL)
{
Log.e(@@@@@@@@@@@@ #############,多个);
}
如果(S1!= NULL)
{
Log.e(111111111111 #############,S1);
}
如果(S2!= NULL)
{
Log.e(2222222222222 #############,S2);
}
}
}
ArrayList的< ContentProviderOperation> OPS =新的ArrayList< ContentProviderOperation>();
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(其中,PARAMS)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER,5657)
// .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,样品名称21)
。建立());
字符串where1 = ContactsContract.Data.DISPLAY_NAME +=?AND+
ContactsContract.Data.MIMETYPE +=;
的String [] params1 =新的String [] {名,vnd.android.cursor.item /名称};
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where1,params1)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,样品名称)
。建立());
的String [] params2 =新的String [] {名,vnd.android.cursor.item / email_v2};
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where1,params2)
.withValue(ContactsContract.CommonDataKinds.Email.DATA,您好)
。建立());
// phoneCur.close();
尝试 {
cr.applyBatch(ContactsContract.AUTHORITY,OPS);
}赶上(RemoteException的E){
// TODO自动生成的catch块
e.printStackTrace();
}赶上(OperationApplicationException E){
// TODO自动生成的catch块
e.printStackTrace();
}
}
Does anyone know how to do that? Even links to some tutorials would help.
I'm using a device with Android 2.1.
解决方案
i found it myself.. thanks everyone...
public void updateContact(String name, String phone,ContentResolver cr,Activity a)
{
String[] arr = {"DISPLAY_NAME","MIMETYPE","TYPE"};
String where = ContactsContract.Data.DISPLAY_NAME + " = ? AND " +
ContactsContract.Data.MIMETYPE + " = ? AND " +
String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE) + " = ? ";
String[] params = new String[] {name,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE,
String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE_HOME)};
Cursor phoneCur = a.managedQuery(ContactsContract.Data.CONTENT_URI, null, null, null, null);
for(int i = 0; i<phoneCur.getColumnCount()-1;i++)
{
if(phoneCur.moveToNext())
{
String s = phoneCur.getString(phoneCur.getColumnIndex(Data.DISPLAY_NAME));
String s1 = phoneCur.getString(phoneCur.getColumnIndex(Data.MIMETYPE));
String s2 = phoneCur.getString(phoneCur.getColumnIndex(Phone.TYPE));
if(s!=null)
{
Log.e("@@@@@@@@@@@@#############",s);
}
if(s1!=null)
{
Log.e("111111111111#############",s1);
}
if(s2!=null)
{
Log.e("2222222222222#############",s2);
}
}
}
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where, params)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, "5657")
// .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "Sample Name 21")
.build());
String where1 = ContactsContract.Data.DISPLAY_NAME + " = ? AND " +
ContactsContract.Data.MIMETYPE + " = ?";
String[] params1 = new String[] {name,"vnd.android.cursor.item/name"};
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where1, params1)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "Sample Name")
.build());
String[] params2 = new String[] {name,"vnd.android.cursor.item/email_v2"};
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where1, params2)
.withValue(ContactsContract.CommonDataKinds.Email.DATA, "Hi There")
.build());
// phoneCur.close();
try {
cr.applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OperationApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这篇关于如何更新电子邮件,地址,昵称等在Android中接触的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文