Android文件存储选项 - 外部+内部

时间:2015-10-04 14:37:55

标签: android storage external internal

我正在创建一个教育应用程序,并希望我的用户能够选择他们想要的包,并只将该包下载到设备。所以基本上,我的应用程序有一个"数据"夹。如果用户选择了一个"信号和系统",我的应用程序应该将其从http服务器下载到设备上的私人位置,然后我的应用可以将数据呈现给用户。 (可下载内容为20-30 MB,所以我想将其下载到外部存储,如果可能的话,或者内部但是应该是应用程序的私有内容)

现在,我浏览了谷歌文档,似乎数据可以保存在内部存储器或外部存储器中。我不明白的是外部记忆是什么意思? 如果我使用外部存储编写应用程序代码,并且用户选择在内部存储器中安装我的应用程序,是否必须重写代码才能从内部存储器中获取数据?

编辑1

我得到了答案,但现在我有一个不同的问题。如果我想在APK中放入一些文件,我会将它们导入Android Studio Assets文件夹。但是,现在我想把一些文件放在APK之外但用APK包装。即我的文件应与APK一起下载到私人存储位置。我怎么做?如何为此设置Android Studio?

1 个答案:

答案 0 :(得分:0)

Android有3大类内存:

  1. 系统:用于操作系统
  2. 内部:用于应用安装和应用私人数据
  3. 外部:用于存储文件和/或可能是应用程序(可以是SD卡)
  4. 您可以选择内部和外部来存储您的应用数据。

    默认情况下,您的应用将安装在内部存储器上,用户可以将其移至外部存储设备上。

    任何这些都不会影响您的数据存储实现,您无需重写任何代码。

    还可以查看this

    <强>更新

    要回答您的更新问题,您可以在资源中保留所有必需的文件,它将与您的APK捆绑在一起。

    检查this document

      

    main / assets /

         

    这是空的。您可以使用它来存储原始资产文件。   您在此处保存的文件将按原样编译为.apk文件,并且   原始文件名被保留。您可以在中导航此目录   与使用URI和读取文件的典型文件系统相同的方式   使用AssetManager的字节流。例如,这是一个很好的   纹理和游戏数据的位置。