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

标签 android storage

我目前正在准备一个拼图应用程序。但是,如果我应该选择内部存储还是外部存储(或建议的任何其他存储),我陷入了困境。 该应用程序将包含大约 30 张拼图图像(以及选择自己的图库图像的选项)。我不是一个非常有经验的编码员,因此最好和最简单的选项之间的结合会很棒。

  • 对于内部存储:应用程序等的设置更安全,但我害怕达到数据限制。
  • 对于外部存储:“只要设备上安装了外部存储,就不会对应用程序性能产生影响。” (developer.android) 尤其是最后一部分有关安装的部分让我感到害怕。

提前致谢, 〜奥利夫

最佳答案

为什么不在 list 中设置它:

 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;
}

关于android - 在内部和外部之间进行选择(内部数据存储限制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095385/

相关文章:

android - 如何在 GridView 中显示图像的新屏幕onclick 事件?

android - 使用 FusedLocationProviderClient、JobScheduler 和 JobService 更新位置

java - Android 应用程序内部数据存储

oracle - 查询我的 block 大小oracle

android - LazyColumnFor 的分页

android - NestedScrollView 在使用 nestedScrollEnabaled 属性时抛出错误 "android.view.InflateException"

android - 用户输入的撇号使 android 应用程序崩溃(与 SQL 相关)

android - Chrome 和 Android 中的 Web SQL 存储限制?

c# - 嵌入式文件系统?

mysql - 存储压缩文件的数据库