android如何浏览并选择图片 音频 视频
这几天 在学习并开发android系统的图片浏览 音频 视频 的浏览 由于是第一次做android系统(java也不会)
遇到了很多问题 如何浏览并选择图片 音频 视频也花了我好几天的时间
我把它整理处理 以便帮助和我一样的同学 也同时防备自己忘记
<1> 选择按钮的代码
// 选取图片按钮单击事件
public void click_xuanqutupian(View source) {
Intent intent = new Intent();
/* 开启Pictures画面Type设定为image */
intent.setType("image/*");
//intent.setType("audio/*"); //选择音频
//intent.setType("video/*"); //选择视频 (mp4 3gp 是android支持的视频格式)
//intent.setType("video/*;image/*");//同时选择视频和图片
/* 使用Intent.ACTION_GET_CONTENT这个Action */
intent.setAction(Intent.ACTION_GET_CONTENT);
/* 取得相片后返回本画面 */
startActivityForResult(intent, 1);
}
<2> 取得选择的项 以后 处理的地方
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 选取图片的返回值
if (requestCode == 1) {
//
if (resultCode == RESULT_OK) {
Uri uri = data.getData();
Cursor cursor = getContentResolver().query(uri, null, null,
null, null);
cursor.moveToFirst();
// String imgNo = cursor.getString(0); // 图片编号
imgPath = cursor.getString(1); // 图片文件路径
String imgSize = cursor.getString(2); // 图片大小
String imgName = cursor.getString(3); // 图片文件名
fileName = imgName;
fileSize = imgSize;
// Log.e("uri", uri.toString());
ContentResolver cr = this.getContentResolver();
try {
Bitmap bitmap = BitmapFactory.decodeStream(cr
.openInputStream(uri));
ImageView imageView = (ImageView) findViewById(R.id.imview);
/* 将Bitmap设定到ImageView */
imageView.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
// Log.e("Exception", e.getMessage(),e);
}
}
}
// 拍照的返回值
if (requestCode == 2) {
if (resultCode == RESULT_OK) {
//
imgPath = data.getStringExtra("filePath");
fileName = data.getStringExtra("fileName");
fileSize = data.getStringExtra("fileSize");
// 读取拍照所得的文件
try {
Bitmap bitmap = this.getLoacalBitmap(imgPath);
ImageView imageView = (ImageView) findViewById(R.id.imview);
imageView.setImageBitmap(bitmap);
} catch (Exception e) {
// TODO: handle exception
}
//
}
}
super.onActivityResult(requestCode, resultCode, data);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2011-03-06 js拖动窗口 用层模拟可移动的小窗口
2011-03-06 javascript数组操作大全,数组方法总汇,速记
2011-03-06 offsetTop,clientX,clientTop,clientWidth,offsetWidth 坐标,一次弄明白
2011-03-06 ID 为 333 的事件被添加到基于 Windows Server 2003 的计算机上的系统日志中的补丁下载地址
2011-03-06 关于iis HTTPERR日志
2011-03-06 “WinMgmt.exe产生了错误,将会被Windows关闭,需要重新启动程序”的错误提示解决方法
2010-03-06 精通ASP.NET中弹出窗口技术