请教 怎么给通讯录中的联系人添加头像 通讯录就要做完了 就剩下给联系人添加头像了 因为对输出输入流 不是很熟悉 所以 头像一直没有添加成功 哪位大神能帮忙贴个代码 指教一下 谢谢 (关于通讯录中联系人头像的添加及把添加的头像保存在系统的数据库中) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public byte[] strToByte(String a) {//String转换为2进制 byte[] by = null; if(a.equals("null")) { return by; }else { String[] b = a.split(","); by = new byte[b.length]; for(int i =0;i<b.length;i++) { by[i] =Byte.parseByte(b[i]); } } return by; } private Bitmap Bytes2Bimap(byte[] b){ //2进制转换为图像 if(b.length!=0){ return BitmapFactory.decodeByteArray(b, 0, b.length); } else { return null; } }给你2段代码吧。我的思路就是通过接收图片的2进制json数据重新将图片绘制出来。怎么设置上去不用我说了吧 SQLite数据库可以存bitmap. 我用的就是 调用系统的图片库 然后把图片添加到组件上 现在联系人头像的添加 已经做完了 但是 更新不了 我觉得 是 我更新时的访问数据库的语句 有点问题 导致没有更新上 请问 你有做更新么 ContentResolver contentResolver=Updata.this.getContentResolver(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); byte[] arrbyte=null; if(bitmap!=null) { bitmap.compress(Bitmap.CompressFormat.JPEG, 75, stream);// (0 - 100)压缩文件 arrbyte=stream.toByteArray(); if(arrbyte==null) { Log.e("erroe", "arrByte=null"); }// setContactPhoto5(contentResolver,arrbyte,Long.parseLong(people.id),false); } else { Log.e("erroe", "bitmap=null"); } // 更新photo ops .add(ContentProviderOperation .newUpdate(ContactsContract.Data.CONTENT_URI) .withSelection( ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[] { people.id, ContactsContract.CommonDataKinds.Website.CONTENT_ITEM_TYPE, }) .withValue( ContactsContract.CommonDataKinds.Photo.PHOTO, arrbyte).build()); 你用的是第二种方法,那就是你sql语句问题了。update语句更新。我实现了。。我是获得图片路径。存入数据库更新时就覆盖路径就行了。 5楼朋友,,ContactsContract.CommonDataKinds.Website.CONTENT_ITEM_TYPE,这里写错了,,ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE, NFC开发问题 问个应该属于编码问题的问题。 关于android中资源释放的问题 关于聊天发送的消息一次显示在界面的问题,请高手指点下! 关于在eclipse中导入android project的问题,求帮忙~ 有关Android平台的键盘布局问题,请各位不吝赐教,谢谢! 一个关于pendingIntent的问题。 安卓开发里,通知栏大小是怎么是实现的? 线程同步问题 第一次发帖就是求助帖,不知道有人能解决一下不 求android好看的按钮 背景等的素材的来源 怎么在Tabhost标签切换的时候,清空EditText
public byte[] strToByte(String a) {//String转换为2进制
byte[] by = null;
if(a.equals("null"))
{
return by;
}else
{
String[] b = a.split(",");
by = new byte[b.length];
for(int i =0;i<b.length;i++)
{
by[i] =Byte.parseByte(b[i]);
}
}
return by;
}
private Bitmap Bytes2Bimap(byte[] b){ //2进制转换为图像
if(b.length!=0){
return BitmapFactory.decodeByteArray(b, 0, b.length);
}
else {
return null;
}
}
给你2段代码吧。我的思路就是通过接收图片的2进制json数据重新将图片绘制出来。
怎么设置上去不用我说了吧
SQLite数据库可以存bitmap.
我用的就是 调用系统的图片库 然后把图片添加到组件上 现在联系人头像的添加 已经做完了 但是 更新不了 我觉得 是 我更新时的访问数据库的语句 有点问题 导致没有更新上 请问 你有做更新么
ContentResolver contentResolver=Updata.this.getContentResolver();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
byte[] arrbyte=null;
if(bitmap!=null)
{
bitmap.compress(Bitmap.CompressFormat.JPEG, 75, stream);// (0 - 100)压缩文件
arrbyte=stream.toByteArray();
if(arrbyte==null)
{
Log.e("erroe", "arrByte=null");
}
// setContactPhoto5(contentResolver,arrbyte,Long.parseLong(people.id),false);
}
else
{
Log.e("erroe", "bitmap=null");
}
// 更新photo
ops
.add(ContentProviderOperation
.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(
ContactsContract.Data.CONTACT_ID
+ "=?"
+ " AND "
+ ContactsContract.Data.MIMETYPE
+ "=?",
new String[] {
people.id,
ContactsContract.CommonDataKinds.Website.CONTENT_ITEM_TYPE,
})
.withValue(
ContactsContract.CommonDataKinds.Photo.PHOTO,
arrbyte).build());
这里写错了,,ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE,