问题标签 [android-external-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何检查外部存储空间的可用性?
您如何检查 SD 卡是否已满,以便您的应用程序可以决定它是否可以继续完成其工作,即写入外部存储或通知用户存储空间已用完。
android - Android:外部存储上的 mkdirs()/mkdir() 返回 false
我被这个逼疯了:
输出日志如下所示:
我确保添加正确的权限:
但我不知道为什么它无法创建文件夹。我也mkdir()
一步一步使用,但结果是一样的。请帮我。我在谷歌上搜索了很多,并且在这个愚蠢的事情上花了至少 2 天。谢谢你的帮助!!
编辑:
对不起大家!我已经添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
了<application>
标签。这是我的错误!不过谢谢大家的回复。
android - IllegalArgumentException while reading a video file from External Stroage
I have a problem that I am getting IllegalArgumentException while reading a video file from sdcard. I don't know why? Please suggest me the right solution for the same.
ErrorStack:
Code:
android - 如何在没有root权限的情况下访问写入的文件?
我有这个代码用于写入和读取文件ZIZI.txt:
我在 DDMS 中看到文件位于:\data\data\setup.myProject\files\ZIZI.txt
但是我的手机看不到这个文件(因为我没有root权限)
我想从我的 SD 卡或手机中可以看到的任何文件夹中写入和读取。如何更改此代码?
android - Nexus LG 上的外部存储目录是什么
下面的代码片段试图存储一个Gesture
对象。
我想知道mGesture
存储在哪里?
紧跟上面的代码,作者给出如下代码:
所以我猜mGesture
它存储在由path
. 但我不知道什么是路径。我试过调试。它给了我类似的东西:“storage/emulated/0/gestures/”。但是我在我的设备上找不到这个目录。顺便说一句,我的设备是nexus 4
android - 在外部存储器/SD卡上缓存图像的推荐路径
当我在 Android 文件传输或 Astro 文件管理器中查看我的 sd 卡根目录时,它一团糟,因为应用程序到处都存储文件。
作为开发人员,我们通过缓存图像/文件等来遵循最佳实践,以使我们的应用程序更快,并且我们使用Environment.getExternalStorageDirectory()
来获取外部存储的根目录(而不是硬编码 /sdcard)。但是接下来应该怎么做?理想情况下,我们会遵循将缓存文件转储到作为外部存储的开放字段的约定吗?
以下是我从自己的设备/经验中看到的几个选项:
/.cache/app_name/
/.app_name/
/cache/<app_name>/
/data/<app_name>/
/com.package.name/
/app_name/
我目前更喜欢在设备文件管理器中默认隐藏第一个选项。
有谁知道谷歌的推荐或几个流行/大牌应用程序遵循的约定?或原因这是一个坏主意?
android - 是否有可能挂钩到正在安装的外部存储?
可以从 Android 卸载外部存储。是否可以获得 API 挂钩,以便在新存储可用时调用一些自定义代码?
android - 来自外部存储的 Android phonegap 闪屏
我可以使用以下代码从我的 phonegap 应用程序中的可绘制文件夹中显示启动画面:
但是,如果我想从 sdcard 或内部存储中加载启动画面的图像怎么办。
因为,我正在使用我的外部存储从服务器加载数据,并且在加载数据之后,我希望该数据中的图像用作启动画面。
在这种情况下我应该使用什么方法或属性,因为我不能直接使用 super.setIntegerProperty(),因为它需要用于启动画面的整数参数,但我所拥有的只是该 sdcard 图像的路径。
此处询问了类似的查询,但答案似乎不适合我。
android - 在 sd 卡上写入 .3gp 文件
我有存储在 SD 卡中的 .3gp 音频文件。我想将该文件复制到 sd 卡的另一个文件夹中。我已经用谷歌搜索了很多,但没有任何工作想法。如果有人知道,请帮助我。我到目前为止尝试过的代码如下:
这总是创建一个大小为 100 的新文件。在此先感谢...当我调用此 save() 方法时的代码是:
java - getExternalCacheDir() 清除数据后返回 null
我有一个简单的应用程序可以访问并将数据写入外部存储。一切正常,直到我转到“设置”->“应用程序”->“应用程序信息”并通过“清除数据”按钮清除数据,然后每次调用都getExternalCacheDir()
开始返回 null。
我一直在运行 Android 4.2.2 的 Nexus 7 上进行开发。
我的清单看起来像:
不起作用的代码段:
安装并执行应用程序后的 LogCat:
清除 App Info 设置中的数据后的 LogCat:
清除数据并执行 appgetExternalCacheDir()
方法后,即使Environment.getExternalStorageState()
返回“mounted”,也会返回 null。有谁知道可能出了什么问题?
编辑
在 Gjordis 的帮助下,我发现清除数据按钮会删除整个应用程序临时目录:
storage/sdcard0/Android/data/com.example.app/cache
在Android/data
而且我无法通过getExternalCacheDir()
或手动再次创建它(尽管我能够在 下创建其他目录storage/sdcard0/Android/data/
)。
(Android/data/com.example.app
在设备重新启动后再次创建,但这不是我正在寻找的解决方案)