【问题标题】:How can i create Internal folder in my app?如何在我的应用程序中创建内部文件夹?
【发布时间】:2013-03-29 16:31:47
【问题描述】:

如何在我的应用程序中创建内部文件夹以将捕获的图像放入其中 之后获取图片文件夹路径???

【问题讨论】:

    标签: android sqlite android-layout android-intent android-camera-intent


    【解决方案1】:

    在 Android 中,您可以在 SD 卡(外部存储)或内部存储器上创建文件夹。

    以下命令创建文件夹

    file.mkdir()
    

    所以当你提供像下面这样的文件路径时

    File file=new File(PATH/FOLDER_NAME);
    

    它将在特定位置创建,但如果您不提供路径,它只会在内部存储器上创建文件夹。这基本上是

    data/data/YOUR_APPLICATION_PACKAGE/
    

    【讨论】:

      【解决方案2】:

      path = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_MOVIES);

          File file = new File(path, "/" + fname);
      

      您可以在“DIRECTORY_MOVIES”或“DIRECTORY_PICTURES”或其他任何名称之后添加您想要的任何文件夹名称

      【讨论】:

      • 但我想在 SD 卡中创建内部文件夹而不是外部文件夹
      • 我也尝试过这种方式,但仍然崩溃并给我空值
      【解决方案3】:

      您只需在相机捕捉按钮上添加此代码

      File imagesFolder = new File(Environment.getExternalStorageDirectory(), "Your Folder Name");
                      imagesFolder.mkdirs(); 
                      Calendar cal = Calendar.getInstance();
                      File photo = new File(Environment.getExternalStorageDirectory()
                              + "/Your Folder Name", (cal.getTimeInMillis() + ".jpg"));
                      mCapturedImagePath = photo.getAbsolutePath();
                      Uri uriSavedImage = Uri.fromFile(photo);
                      Intent intent = new Intent(
                              android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                      intent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
                      startActivityForResult(intent, PICK_FROM_CAMERA);
      

      上面的代码创建了一个文件夹并将一张图片保存到你的SD卡中

      【讨论】:

      • 谢谢 Mukesh 先生,但我想要 crate 内部文件夹来保存我拍摄的图像 我该怎么做?
      • 您必须通过“Context.MODE_PRIVATE”将此文件夹设为私有,这有助于您将文件夹设为私有且其他应用程序无法访问。此外,当您从设备中删除应用程序时,此私人文件夹也将被删除。有关更多信息,请查看 android 开发者网站上的内部存储...developer.android.com/guide/topics/data/data-storage.html
      • 我尝试执行此代码,但在应用程序崩溃后我得到空值:/
      【解决方案4】:
      path = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_MOVIES);
      
      File file = new File(path, "/" + fname);
      

      您可以在“DIRECTORY_MOVIES”或“DIRECTORY_PICTURES”或其他任何名称之后添加所需的任何文件夹名称 - 它位于设备内部,而不是像 SD 卡上的外部。它只是意味着其他应用可以看到这些数据,并且它不是应用内部的,对其他应用或用户不可见

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-19
        • 2016-08-01
        • 2015-01-22
        • 1970-01-01
        • 1970-01-01
        • 2014-03-15
        • 2015-12-28
        • 1970-01-01
        相关资源
        最近更新 更多