2012-12-27 33 views
4

内部存储和外部存储在android中有什么含义? Ιs外部存储一个micro SD卡和内部存储手机内存?如果我需要为我的应用程序编写一个文件,这只是我的应用程序需要的(用户没有工作处理这个文件),那么我应该在哪里写我的文件 - 在内部存储器或外部存储器中?选择内部存储和外部存储

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

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

回答

0

你应该使用内部存储它总是由你的应用程序,而不是其他应用程序可能有权限访问的访问。

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

谢谢

4

看一看这个博客帖子大约the correct way to use file storage in Android

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

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

1

Ιs外部存储microSDcard和内部存储手机内存?

microSD卡和内部手机内存,两者都是根据官方Android文档的外部存储。

如果我需要编写一个文件,我的应用程序,这只是我的 应用需求(用户没有工作要做与此文件),然后 我应该在哪里写我的文件 - 在内置存储器或外部存储器?

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

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

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

为什么?因为,根据Official Android Guide

默认情况下,保存到内部存储文件仅对您的 应用程序和其他应用程序不能访问它们(也可以在 用户)。当用户卸载你的应用程序时,这些文件被删除了 。

的方式来保存文件在内部存储:

他们两人都是在Context

File getDir (String name, int mode) 

File getFilesDir() 

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

根据Google /官方Android文档的内部和外部存储术语是完全不同于我们所认为的