ANdroid 在本地上创建文件夹

ANdroid 在本地上创建文件夹

问题描述:

图片说明

写了个拍照,然后把照片存文件夹里面,在拍照后打印地址是显示存进去了的 ,但是在手机本地找不到图片,我用图片路径得到照片也得不到

参考:



  /**
     * 保存图片到本地
     * <p/>
     * <p>需要权限:</p>{@code
     * <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     * <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>}
     *
     * @param bitmap 要保存的图片.
     * @throws IOException           写文件时导致的异常.
     * @throws FileNotFoundException 文件未找到时,或路径不存在时抛出此异常.
     * @see {@link com.w1520.liangye.utils.NetworkUtils#saveImages(ImageView imgView)}
     */
    public void saveImages(Bitmap bitmap) {
        String strPath = getSDPath();
        DateUtils dateutils = DateUtils.getInstance();
        String strFileName = dateutils.getCurrentTimeById() + ".jpg";
        FileOutputStream fos = null;
        try {
            File destDir = new File(strPath);
            if (!destDir.exists()) {
                destDir.mkdirs();
            }
            final String filePaths = strPath + "/" + strFileName;
            File imageFile = new File(filePaths);
            imageFile.createNewFile();
            fos = new FileOutputStream(imageFile);
            bitmap.compress(Bitmap.CompressFormat.JPEG, 50, fos);
            fos.flush();
            showToast("已成功保存到相册", Toast.LENGTH_SHORT);
            refreshPicture(filePaths);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

        /**
     * 获取SD卡或者内置存储空间可以保存资源的路径.
     * <em>此处未实现对存储空间是否充足进行判断</em>.
     *
     * @return 返回保存数据的路径, 有SD卡则是SD上的路径, 反之内置存储空间上的路径.
     */
    private String getSDPath() {
        boolean hasSDCard = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
        if (hasSDCard) {
            return Environment.getExternalStorageDirectory().toString() + "/Pictures/liangye";
        } else
            return "/data/data/package";
    }


更多:
http://www.07q.net/read/2381.html
下面的网络工具类。

&lt;!--
    @page { margin: 2cm }
    PRE { font-family: &quot;DejaVu Sans&quot; }
    P { margin-bottom: 0.21cm }
--&gt;

由于工作的需要,今天研究了在android下创建文件夹和修改其权限的方法,需要了解的是每个应用程序包都会有一个私有的存储数......
答案就在这里:在Android下创建文件夹
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

MediaStore.Images.Media.insertImage(getContentResolver(), "路径", "title", "description");

试试这个:
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
// 创建一个文件夹对象,赋值为外部存储器的目录
File sdcardDir = Environment.getExternalStorageDirectory();
// 得到一个路径,内容是sdcard的文件夹路径和名字
String path = sdcardDir.getPath() + "/myCarImage";
File path1 = new File(path);
if (!path1.exists()) {
// 若不存在,创建目录,可以在应用启动的时候创建
path1.mkdirs();
}
}