问题标签 [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.

0 投票
2 回答
2515 浏览

android - Environment.getExternalStorageDirectory().canWrite() 返回 false

我检查了下面的代码

输出显示sdcard mounted and writable

Environment.getExternalStorageDirectory().canWrite()总是返回假。任何人都可以建议吗?

0 投票
1 回答
1067 浏览

android - Android App Install Location

I went through the documentation it says "To install app to external sd card we need to declare android:installLocation attribute in the element, with a value of either "preferExternal" or "auto"."

"Only If the external storage is full, the system will install it on the internal storage." But what if application size is bigger than combined available size of Internal and External storage? How to handle such situation?

For reference: http://developer.android.com/guide/topics/data/install-location.html

The objective to confirm what exactly will happen and is there any need to handle it or Android will take care of it on its own

0 投票
2 回答
4876 浏览

android - 如何以编程方式在外部 sdcard 上安装应用程序?

我目前正在开发一个用作更新管理器的应用程序。到目前为止,每当我安装或更新任何其他应用程序时,该应用程序都运行良好。所有这些应用程序都已安装在 data/app 文件夹中,并且我使用了带有 installpackage() 方法的 android.content.pm.IPackageManager 类来安装它们。

我正在开发具有内部存储器 (1 GB)、内部 SDCARD (4GB) 和外部 SD 卡 (8GB) 的 costum ROM。由于我所有的应用程序都已安装在数据/应用程序文件夹中,我的内存空间不足!我想知道是否可以使用相同的 installpackage() 方法在外部 SDCARD(或内部)上安装应用程序。

这是我安装应用程序的方式:

我开始怀疑我不能在 sdcard 上安装应用程序。有什么建议吗?如果不是,我可以在安装后以编程方式将我的应用程序移动到 SD 卡吗?

0 投票
3 回答
5094 浏览

android - 如何在 Android 中的一组应用程序之间共享数据

考虑以下场景。一家公司发布了许多应用程序。他们希望在所有这些应用程序之间共享一些数据。这些应用程序中的任何一个都可以创建或读取这些数据,就像一个通用数据库一样。因此公司决定创建一个用于此目的的 android 库。我搜索了几天,下面给出我的分析。

  1. SharedPreferences - 不推荐且已弃用。它也没有达到目的。所有其他应用程序都需要知道创建数据的应用程序的包名称以创建 PackageContext。在这里这是不切实际的,因为任何应用程序都可以创建/更新/读取数据,并且无法说出谁是谁。

  2. ContentProviders - 这对我不起作用。ContentProviders 的原因必须存在于每个应用程序中。一个设备中不能有 2 个同名的内容提供者。除此之外,ContentProviders 基本上意味着一个应用程序创建数据,而其他应用程序使用 Content_Uri 订阅它。

  3. 网络连接 - 我们不想在任何服务器中存储数据。

  4. 外部存储 - 这是剩下的唯一选项。我应该去这个吗?

有趣的是,数据也必须得到保护,这在任何存储选项中都不受支持。

注意:对于 iOS,我们使用 keychain 来实现相同的功能

0 投票
1 回答
1015 浏览

android - 如何在没有外部存储的情况下使用 NFC 传输文件?

我目前正在为 Nexus S 手机开发一个应用程序,它将数据存储到永久存储中,并在两部手机靠近时传输该数据。这似乎是 NFC 的工作,我一直在 Android 开发人员培训页面上阅读它。

在下一页...

http://developer.android.com/training/beam-files/send-files.html

该教程指出 Android Beam 文件传输的第二个要求...

您要传输的文件必须驻留在外部存储中。

问题是 Nexus S 没有外部存储(没有 SD 卡),但我很清楚使用 NFC 传输文件是 Nexus S 的一个选项。我应该如何解释这个要求?如何使用 Nexus S 的内部存储在手机之间保存和共享文件?

0 投票
2 回答
27632 浏览

android - /sdcard/emulated/0 和 /sdcard 之间的区别

我对一个奇怪的问题很生气。如果我在我的代码中创建一个文件夹

在 /sdcard/ 中创建了一个新文件夹。如果我尝试在 logcat directory_path 变量上打印,则路径不同: /storage/emulated/0/ 如果我转到该路径,我会找到另一个与 /sdcard/ 上创建的文件夹同名的文件夹。这对我来说是个问题,因为当我尝试将一些数据写入该文件夹时,所有内容都进入 /storage/emulated/0 上的一个,而另一个(即我想要使用的文件夹)保持为空。为什么?

0 投票
1 回答
1802 浏览

java - 从外部存储读取图像文件并放入 ImageView

我有一种情况,我需要使用用户外部存储目录中的图像填充图像视图;我一直在使用位图工厂解码文件,然后相应地设置图像视图位图,但我一直遇到空指针异常。

我直接在 OnCreate 中运行它,并且图像视图应该是全屏的,但我终其一生都无法弄清楚是什么抛出了一个空对象,因为我已经逐步完成并且一切看起来都很好,空setImageBitmap() 时抛出指针;方法被调用。

0 投票
1 回答
243 浏览

android - 将字符串转储到文本文件中的正确方法是什么?

我有一个让我很困惑的问题。我运行一个命令来取回一个包含多达 25 个条目的项目列表。它们是一个单词条目。

例如:一二三十四

我在 StringBuilder 中有这个。

我需要它们通过管道传输到设备外部存储上的文本文件中。现在我的代码正在创建文件夹和文件,但文件是空白的。我可以将字符串转储到 Logcat,以便我知道它已正确填充。问题是我在下面的尝试/捕获。

非常感谢任何帮助。我所有的搜索都指向我这里的代码示例,所以我很茫然。

谢谢!

0 投票
1 回答
1467 浏览

java - 更新到 Android 4.4 KitKat 后找不到 Movies 文件夹

在我的应用程序中,我使用下面的代码列出Movies存储文件夹中的电影。但是,由于我将 Nexus 7 平板电脑升级到 Android 4.4,此代码无法正常工作(代码末尾的 toast 弹出意味着代码在该文件夹中没有找到任何文件,即使它可以访问该文件夹,我也不知道)。知道我应该更改什么或在新更新中更改了什么吗?

如果我使用平板电脑上的 Gallery 应用程序,我可以在那里看到电影,因此电影在更新过程中没有被删除。

0 投票
1 回答
2345 浏览

android - 在哪里保存视频文件 缓存或外部存储器?

我正在开发一个基于视频的 android 应用程序,在该应用程序中我正在使用 videoview 从服务器播放视频,我想缓存那些我首先下载视频并将它们作为临时文件保存到外部存储中的视频,所以任何人都可以指导我将这些视频文件存储在外部存储中是一种好方法,还是我应该将其保存到应用程序的缓存中?