获取手机图库收藏家中的图片,单击选择让它显示到你的控件上。

qwe19491001 2011-12-16 02:57:04
发现好多项目要做这个功能实现上传图片,自定义用户头像等功能。。。分享下代码吧。。
QuickContactBadge headimag;//用来显示图片的控件,你可以是imageview,textview等。。
private final String IMAGE_TYPE = "image/*";
private final int IMAGE_CODE = 0; //这里的IMAGE_CODE是自己任意定义的
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
headimag=(QuickContactBadge)findViewById(R.id.quickContactBadge_headimg);
headimag.setImageResource(R.drawable.searchheadimg);//设置默认图片
}
@Override
protected void onResume() {
super.onResume();
//单击控件进入收藏选择头像
headimag.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent getAlbum = new Intent(Intent.ACTION_GET_CONTENT);
getAlbum.setType(IMAGE_TYPE);
startActivityForResult(getAlbum, IMAGE_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) { //此处的 RESULT_OK 是系统自定义得一个常量
System.out.println(resultCode);
return;
}
Bitmap bm = null;
//外界的程序访问ContentProvider所提供数据 可以通过ContentResolver接口
ContentResolver resolver = getContentResolver();
//此处的用于判断接收的Activity是不是你想要的那个
if (requestCode == IMAGE_CODE) {
try {
Uri originalUri = data.getData(); //获得图片的uri
bm = MediaStore.Images.Media.getBitmap(resolver, originalUri);//显得到bitmap图片这里开始的第二部分,获取图片的路径:
headimag.setImageBitmap(bm);//把获取到的图片添加到相框
String[] proj = {MediaStore.Images.Media.DATA};
//android多媒体数据库的封装接口
Cursor cursor = managedQuery(originalUri, proj, null, null, null);
//按我个人理解 这个是获得用户选择的图片的索引值
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
//将光标移至开头 ,这个很重要,不小心很容易引起越界
cursor.moveToFirst();
//最后根据索引值获取图片路径
String path = cursor.getString(column_index);
System.out.println(path);
}catch (IOException e) {
System.out.println(e.toString());
}
}
}
...全文
135 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacyGmail 2011-12-16
  • 打赏
  • 举报
回复
qwe19491001 2011-12-16
  • 打赏
  • 举报
回复
e....失误!!!
tangfei_honesty 2011-12-16
  • 打赏
  • 举报
回复
格式整理下更好

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧