Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何以编程方式将图片(位图)分配给联系人?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Bitmap类型的变量,我想将它从我的联系人列表中分配给一个联系人作为CalledID图片,我该怎么做?

解决方法

你必须为那些创建自己的mime类型. @H_404_11@

@H_404_11@这是一个将布尔值作为我的自定义mime类型保存到联系人的示例.它使用最新的SDK 2.1

@H_404_11@重要

@H_404_11@此示例将DATA1用于数据,DATA1已编制索引,但不建议二进制数据.
在您的情况下,要存储二进制数据,如图片,您必须使用DATA15.

@H_404_11@按照惯例,DATA15用于存储BLOB(二进制数据).

@H_404_11@

public static final String MIMETYPE_FORMALITY = "vnd.android.cursor.item/useformality";
public clsMyClass saveFormality() {
        try {
            ContentValues values = new ContentValues();
            values.put(Data.DATA1,this.getFormality() ? "1" : "0");
            int mod = ctx.getContentResolver().update(
                    Data.CONTENT_URI,values,Data.CONTACT_ID + "=" + this.getId() + " AND "
                            + Data.MIMETYPE + "= '"
                            + clsContacts.FORMALITY_MIMETYPE + "'",null);

            if (mod == 0) {
                values.put(Data.CONTACT_ID,this.getId());
                values.put(Data.MIMETYPE,clsContacts.FORMALITY_MIMETYPE);
                ctx.getContentResolver().insert(Data.CONTENT_URI,values);
            }
        } catch (Exception e) {
            Log.v(TAG(),"saveFormality Failed");
        }
     return this;
    }

public boolean getFormality() {
     if (data.containsKey(FORMALITY)) {
        return data.getAsBoolean(FORMALITY);
    } else {
        // read formality
        Cursor c = readDataWithMimeType(clsContacts.MIMETYPE_FORMALITY,this.getId());
        if (c != null) {
            try {
                if (c.moveToFirst()) {
                    this.setFormality(c.getInt(0) == 1);
                    return (c.getInt(0) == 1);
                }
            } finally {
                c.close();
            }
        }
        return false;
    }

}
public clsMyClass setFormality(Boolean value) {
    data.remove(FORMALITY);
    data.put(FORMALITY,value);
    return this;
}

/**
 * Utility method to read data with mime type
 *
 * @param mimetype String representation of the mimetype used for this type
 *            of data
 * @param contactid String representation of the contact id
 * @return
 */
private Cursor readDataWithMimeType(String mimetype,String contactid) {
    return ctx.getContentResolver().query(
            Data.CONTENT_URI,new String[] {
                Data.DATA1
            },Data.RAW_CONTACT_ID + "=" + contactid + " AND " + Data.MIMETYPE + "= '" + mimetype
                    + "'",null,null);
}
@H_404_11@用法

@H_404_11@

objContact.setFormality(true).saveFormality();

大佬总结

以上是大佬教程为你收集整理的android – 如何以编程方式将图片(位图)分配给联系人?全部内容,希望文章能够帮你解决android – 如何以编程方式将图片(位图)分配给联系人?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: