在内部和外部之间进行选择(内部数据存储限制)

时间:2012-10-26 22:40:25

标签: android storage

我正在准备一款益智App。但是,如果我应该选择内部或外部存储(或任何其他建议),我将陷入两难境地。 该应用程序将包含30个拼图图像(以及选择自己的图库图像的选项)。我不是一个非常有经验的编码器,所以最好和最简单的选项之间的组合将是伟大的。

  • 对于内部存储:应用程序的设置等更安全,但我很害怕达到数据限制。
  • 对于外部存储:“只要外部存储安装在设备上,对应用程序性能没有影响。” (developer.android)特别是关于装载的最后一部分让我感到害怕。
提前谢谢, 〜Olijf

1 个答案:

答案 0 :(得分:2)

为什么不在你的Manifest中设置它:

 android:installLocation="auto"

如果您声明“自动”,则表明您的应用程序可能已安装在外部存储上,但您没有安装位置的首选项。系统将根据几个因素决定安装应用程序的位置。用户还可以在两个位置之间移动您的应用程序。

编辑:

检查外部或内部存储是否可用:

boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();

if (Environment.MEDIA_MOUNTED.equals(state)) {
    // We can read and write the media
    mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    // We can only read the media
    mExternalStorageAvailable = true;
    mExternalStorageWriteable = false;
} else {
    // Something else is wrong. It may be one of many other states, but all we need
    //  to know is we can neither read nor write
    mExternalStorageAvailable = mExternalStorageWriteable = false;
}