qq_27665781 2015-12-17 00:50 采纳率: 100%
浏览 3709
已采纳

ANdroid 在本地上创建文件夹

图片说明

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

  • 写回答

4条回答 默认 最新

  • JPF1024 2015-12-17 01:24
    关注

    参考:

    
    
      /**
         * 保存图片到本地
         * <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
    下面的网络工具类。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集