如何在android中保存联系人时避免重复
我想在android中将我的联系人从listview添加到联系人页面。。我可以添加联系人。但我如何避免重复 例如: 我有一个条目,名字是乔尼,号码是123。如果我再次按下同一个联系人,则不应将其添加到联系人页面。我不想添加联系人,如果它已经在联系人页面中。我该怎么做 这是我的密码:如何在android中保存联系人时避免重复,android,android-contentprovider,Android,Android Contentprovider,我想在android中将我的联系人从listview添加到联系人页面。。我可以添加联系人。但我如何避免重复 例如: 我有一个条目,名字是乔尼,号码是123。如果我再次按下同一个联系人,则不应将其添加到联系人页面。我不想添加联系人,如果它已经在联系人页面中。我该怎么做 这是我的密码: import_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v)
import_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ArrayList<HashMap<String, String>> newArrayList=null;
//ArrayList<HashMap<String, String>> selectedContact=null;
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
newArrayList=ContactImportAdapter.contactsArrayList;
for(int i=0;i<newArrayList.size();i++)
{
String name;
String number;
String mail;
name=newArrayList.get(i).get("import_viewContactName");
number=newArrayList.get(i).get("import_viewContactNumber");
mail=newArrayList.get(i).get("import_viewContactMail");
int rawContactInsertIndex = ops.size();
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, null)
.withValue(RawContacts.ACCOUNT_NAME, null).build());
ops.add(ContentProviderOperation
.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID,rawContactInsertIndex)
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.DISPLAY_NAME, name) // Name of the person
.build());
ops.add(ContentProviderOperation
.newInsert(Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)
.withValue(Phone.NUMBER, number) // Number of the person
.withValue(Phone.TYPE, Phone.TYPE_MOBILE).build());
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Email.DATA, mail)
.withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK)
.build());
//Toast.makeText(getApplicationContext(), "Contact Added Successfully", Toast.LENGTH_SHORT).show();
}
newArrayList.clear();
try
{
ContentProviderResult[] res = getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
}
catch (RemoteException e)
{
// error
}
catch (OperationApplicationException e)
{
// error
}
}
});
import\u btn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
ArrayList newArrayList=null;
//ArrayList selectedContact=null;
ArrayList ops=新的ArrayList();
newArrayList=ContactImportAdapter.contactsArrayList;
对于(int i=0;i首先,为了避免重复,您必须首先调用数据库并检查号码(如果号码存在),然后才能处理该问题。没有数据库,如何避免重复。.我正在使用webservice导出我的联系人您必须在应用程序中的某个位置以及每次使用fetech或ad时维护记录或联系人d一个新联系人,它将比较您的联系人记录。例如,您的联系人为1234、342356742345,现在它们保存在arraylist或某些数据库中,具体取决于您。现在,当您添加例如1234时,此号码将与记录一致,如果存在匹配,您将不会添加联系人。i sa在Arraylist中保存了我的所有联系人..但我无法比较该数组列表..该数组列表在不同的类中。当我调用该数组列表时,它返回空值。。。