Android之为图片创建Uri路径

来源:互联网 发布:淘宝买家个人消费贷款 编辑:程序博客网 时间:2024/06/02 11:19

有时候我们需要为拍出的照片或者裁剪的图片指定保存路径。那么如何为图片创建保存路径呢?方法有两种:第一种是直接创建url或者file路径。第二种是创建Uri路径。

创建创建url或者file路径:

/**  * 制作图片的路径地址  * @param context  * @return  */ public static String createPath(Context context){ String path = null; File file = null; long tag = System.currentTimeMillis(); if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){//SDCard是否可用 //最好把images替换成你的项目名称,避免有重复文件夹 path = Environment.getExternalStorageDirectory() + File.separator +"images/"; file = new File(path); if(!file.exists()){ file.mkdirs(); } path = Environment.getExternalStorageDirectory() + File.separator +"images/"+ tag + ".png"; }else{ path = context.getFilesDir() + File.separator +"images/"; file = new File(path); if(!file.exists()){ file.mkdirs(); } path = context.getFilesDir() + File.separator +"images/"+ tag + ".png"; }return path; }



创建Uri路径

/** * 创建一条图片地址uri,用于保存拍照后的照片 *  * @param context * @return 图片的uri */private static Uri createImagePathUri(Context context) {Uri imageFilePath = null;String status = Environment.getExternalStorageState();SimpleDateFormat timeFormatter = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.CHINA);long time = System.currentTimeMillis();String imageName = timeFormatter.format(new Date(time));// ContentValues是我们希望这条记录被创建时包含的数据信息ContentValues values = new ContentValues(3);values.put(MediaStore.Images.Media.DISPLAY_NAME, imageName);values.put(MediaStore.Images.Media.DATE_TAKEN, time);values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpg");if (status.equals(Environment.MEDIA_MOUNTED)) {// 判断是否有SD卡,优先使用SD卡存储,当没有SD卡时使用手机存储imageFilePath = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);} else {imageFilePath = context.getContentResolver().insert(MediaStore.Images.Media.INTERNAL_CONTENT_URI, values);}Log.i("", "生成的照片输出路径:" + imageFilePath.toString());return imageFilePath;}





0 0
原创粉丝点击