保存并读取图像,但打开文件夹时找不到

Posted

技术标签:

【中文标题】保存并读取图像,但打开文件夹时找不到【英文标题】:Save and read image but I can not find it when I open the folder 【发布时间】:2020-07-26 08:46:10 【问题描述】:

我有一个奇怪的问题。我正在使用 Kotlin 开发一个 android 应用程序。

我的代码可以生成图片myImg.png保存到以下目录

目录:“/storage/emulated/0/Android/data/com.example.MyApp1/files/AutoDDD”

它还可以从同一个目录读取同一张图片并显示在imageView上

还有,satement;

file.exists() 

返回真。但是,问题是当我在笔记本电脑上打开文件夹 AutoDDD 时看不到图像文件。我删除了应用程序并重新安装,但问题仍然存在。我关闭了编辑器并重新打开,重新运行应用程序,但问题仍然存在。

是什么原因?

【问题讨论】:

如果您删除应用程序,该文件将消失。 【参考方案1】:

这也是我的问题,文件夹和文件存在,但我看不到。所以 把它放在 Mainfesx.xml 中

...
   <provider
           android:name="androidx.core.content.FileProvider"
           android:authorities="com.mydomain.fileprovider"
           android:exported="false"
           android:grantUriPermissions="true">
           <meta-data
               android:name="android.support.FILE_PROVIDER_PATHS"
               android:resource="@xml/paths" />
  </provider>
...

然后在 (app > src > main > res) 中创建 xml 文件夹,在 xml 文件夹中添加 paths.xml 最后在路径中。 xml 添加此代码

<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="my_images" path="images/"/>//specify your image path here
</paths>

关于你的活动

val imagePath = File(Context.getFilesDir(), "images")//put your path here
val newFile = File(imagePath, "ur_image.png")//put your image here
val contentUri = getUriForFile(getContext(), "com.mydomain.fileprovider", newFile)

警告:确保您在设置>应用>“你的应用”>权限>存储中允许存储权限并允许它 , 在 Mainfest 添加

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

看到这个文档https://developer.android.com/reference/androidx/core/content/FileProvider 它可以帮助你 谢谢!

【讨论】:

以上是关于保存并读取图像,但打开文件夹时找不到的主要内容,如果未能解决你的问题,请参考以下文章

为啥rstudio不能用桌面的文件

尝试从 R 脚本渲染闪亮的 flexdashboard 时找不到错误对象输出

显示来自服务器的图像时找不到图像的网页

PyQt5 PyQt5安装及配置,从文件夹读取图片并显示,模拟生成素描图像

Erlang - 打开文件读取行删除行并保存

使用 cocoapods 时找不到 Mantle/Mantle.h' 文件