android 读取本地图片视频音频,android如何浏览并选择图片 音频 视频
复制内容到剪贴板代码:public static final String SDCARD_ROOT_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();//路径public static final String SAVE_PATH_IN_SDCARD = "/bi/"; //图片及其他数据保存
复制内容到剪贴板
代码:public static final String SDCARD_ROOT_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();//路径
public static final String SAVE_PATH_IN_SDCARD = "/bi/"; //图片及其他数据保存文件夹
public static String IMAGE_CAPTURE_NAME = "cameraTmp.png"; //照片名称
private String[] items = new String[] { "本地图片", "手机拍照" };
/* 请求码*/
private static final int IMAGE_REQUEST_CODE = 0;//设置本地选择照片的标志
private static final int CAMERA_REQUEST_CODE = 1; //设置拍照操作的标志
private ImageView img;
<1> 选择按钮的代码
// 选取图片按钮单击事件
public void click_xuanqutupian(View source) {
showDialog() ;
}
<2> 取得选择的项 以后 处理的地方
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// 选取图片的返回值
if (resultCode == RESULT_OK) {
//
if (requestCode == IMAGE_REQUEST_CODE) {
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 == CAMERA_REQUEST_CODE) {
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);
}
/**
* 显示选择对话框
*/
private void showDialog() {
new AlertDialog.Builder(this)
.setTitle("采集图片")
.setItems(items, new DialogInterface.OnClickListener() {
// @Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
Intent intentFromGallery = new Intent();
/* 开启Pictures画面Type设定为image */
intentFromGallery .setType("image/*");
//intentFromGallery .setType("audio/*"); //选择音频
//intentFromGallery .setType("video/*"); //选择视频(mp4 3gp 是android支持的视频格式)
//intentFromGallery .setType("video/*;image/*");//同时选择视频和图片
/* 使用Intent.ACTION_GET_CONTENT这个Action */
intentFromGallery
.setAction(Intent.ACTION_GET_CONTENT);
/* 取得相片后返回本画面 */
startActivityForResult(intentFromGallery,
IMAGE_REQUEST_CODE);
break;
case 1:
Intent intentFromCapture = new Intent(
MediaStore.ACTION_IMAGE_CAPTURE);
// 判断存储卡是否可以用,可用进行存储
if (isHasSdcard()) {
SimpleDateFormat DateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date curDate = new Date(System.currentTimeMillis());
IMAGE_CAPTURE_NAME=DateFormat.format(curDate)+".png";
intentFromCapture.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(SDCARD_ROOT_PATH+
SAVE_PATH_IN_SDCARD,IMAGE_CAPTURE_NAME)));
/* intentFromCapture.putExtra(
MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File(Environment
.getExternalStorageDirectory(),
IMAGE_FILE_NAME)));*/
}
startActivityForResult(intentFromCapture, CAMERA_REQUEST_CODE);
break;
}
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
}
所有评论(0)