栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android-更新联系人

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android-更新联系人

最后,我发现了如何更新联系人,这是update方法的代码:

    public void update()    {    int id = 1;        String firstname = "Contact's first name";        String lastname = "Last name";        String number = "000 000 000";        String photo_uri = "android.resource://com.my.package/drawable/default_photo";        ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();        // Name        Builder builder = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI);        builder.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[]{String.valueOf(id), ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE});        builder.withValue(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, lastname);        builder.withValue(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, firstname);        ops.add(builder.build());        // Number        builder = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI);        builder.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?"+ " AND " + ContactsContract.CommonDataKinds.Organization.TYPE + "=?", new String[]{String.valueOf(id), ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE, String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE_HOME)});        builder.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, number);        ops.add(builder.build());        // Picture        try        { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), Uri.parse(photo_uri)); ByteArrayOutputStream image = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG , 100, image); builder = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI); builder.withSelection(ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[]{String.valueOf(id), ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE}); builder.withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, image.toByteArray()); ops.add(builder.build());        }        catch (Exception e)        { e.printStackTrace();        }        // Update        try        { getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);        }        catch (Exception e)        { e.printStackTrace();        }    }

该字段

id
是将新联系人插入数据库时​​返回的原始联系人ID。这是获取此ID的代码:

    ContentProviderResult[] res;    try    {        res = KramerApplication.getInstance().getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);        if (res != null && res[0] != null)        { String uri = res[0].uri.getPath().substring(14); r.setBook_id( new Integer(uri).intValue() );        }    }    catch (Exception e)    {        e.printStackTrace();    }

如果您想进一步了解如何插入/删除联系人,请查看我的第一个问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号