保存并读取图像,但打开文件夹时找不到
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 它可以帮助你 谢谢!
【讨论】:
以上是关于保存并读取图像,但打开文件夹时找不到的主要内容,如果未能解决你的问题,请参考以下文章
尝试从 R 脚本渲染闪亮的 flexdashboard 时找不到错误对象输出