5

android中的内部存储和外部存储是什么意思?是否外部存储是微型 SD 卡和内部存储手机内存?如果我需要为我的应用程序编写一个文件,这只是我的应用程序需要(用户与此文件无关),那么我应该在哪里写入我的文件 - 在内部存储器或外部存储器中?

我认为,如果我将文件写入 SD 卡(外部存储器),那么当用户拔出 SD 卡时,应用程序将无法读取文件。这样对吗?如果它是正确的,那么在外部存储器中写入文件将不符合我的标准。因为,我的应用程序必须多次检查文件中的一些数据,如果在那个特定时刻用户将 SD 卡拔出,我的应用程序就无法实现其目标。

而且我需要永久写入文件(但如果用户卸载该应用程序,则应删除该文件)。那么,我应该走哪条路?

4

5 回答 5

4

查看这篇关于在 Android 中使用文件存储的正确方法的博文。

如果您需要始终访问文件,内部存储是您的最佳选择。但是您不应该在内部存储中使用大文件,因为许多设备的存储空间非常有限。

当您首先使用 Android 内置机制创建文件时,文件会在外部和内部存储上自动删除。这也在帖子中进行了解释。

于 2012-12-28T13:48:14.130 回答
1

是否外部存储是微型 SD 卡和内部存储手机内存?

微型 SD 卡和手机内部存储器,根据 Android 官方文档,它们都是外部存储。

如果我需要为我的应用程序编写一个文件,这只是我的应用程序需要(用户与此文件无关),那么我应该在哪里写入我的文件 - 在内部存储器或外部存储器中?

将文件保存在内部存储中。

而且我需要永久写入文件(但如果用户卸载该应用程序,则应删除该文件)。那么,我应该走哪条路?

将文件保存在内部存储中。

为什么,因为根据Android 官方指南

默认情况下,保存到内部存储的文件对您的应用程序是私有的,其他应用程序无法访问它们(用户也不能)。当用户卸载您的应用程序时,这些文件将被删除。

在内部存储中保存文件的方法:

两人都在Context上课

File getDir (String name, int mode)

File getFilesDir () 

但是,请注意,许多低端手机的内存有限。在这些类型的手机中,即使使用相机拍摄的图像也会自动存储在 SD 卡中。你必须照顾这种情况。

根据 Google/官方 Android 文档的内部和外部存储术语与我们的想法有很大不同。

于 2016-08-01T15:40:59.880 回答
0

您应该使用内部存储,它始终由您的应用程序访问,其他应用程序无权访问。

我认为您应该通过内部存储区域。

谢谢

于 2012-12-27T10:54:44.303 回答
0

是否外部存储是微型 SD 卡和内部存储手机内存?

首先,您必须了解,外部存储不一定必须在单独的SD卡上和手机默认存储上的内部。外部存储是指Android设备的SD卡或没有SD的设备的等效分区-卡选项。

内部和外部存储只是用于保存数据的两个独立目录。内部存储是用于存储仅由我们的应用程序评估并在应用程序卸载时删除的私人文件的地方。而外部存储用于存储您的用户很可能关心的数据,即使您的应用程序不再安装在设备上。例如拍摄的照片、处理或绘制的图像、编辑的代码文件、购买的音频文件等等。我们可以获得用于存储音乐的默认外部存储路径,如下所示,

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);

而且我需要永久写入文件(但如果用户卸载该应用程序,则应删除该文件)。那么,我应该走哪条路?

要在用户卸载您的应用程序后保留数据,您需要将其保存在外部存储中。示例:通常,照片编辑器应用程序将编辑后的图像保存在外部存储中,以便用户可以从图库应用程序访问该照片,如果用户卸载此应用程序,用户编辑的图像将保留在用户设备上。

于 2020-10-05T10:33:42.847 回答
-2

为您的目的使用内部存储(作为文件或作为共享首选项[键值对])

SD 卡不适合您使用。

使用解释各种存储选项的 android 开发者链接:http: //developer.android.com/guide/topics/data/data-storage.html

干杯,普雷亚

于 2012-12-27T10:47:46.010 回答