【问题标题】:Android File Storage Options - External + InternalAndroid 文件存储选项 - 外部 + 内部
【发布时间】:2016-01-01 06:51:48
【问题描述】:

我正在制作一个教育应用程序,并希望我的用户能够选择他们想要的包并仅将该包下载到设备上。所以基本上,我的应用程序有一个“数据”文件夹。如果用户选择“信号和系统”包,我的应用程序应将其从 http 服务器下载到设备上的私有位置,然后我的应用程序可以从该位置向用户呈现数据。 (可下载的内容为 20-30 MB,所以我想尽可能将其下载到外部存储或内部存储,但任何一种方式都应该是应用程序私有的)

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

编辑 1

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

【问题讨论】:

  • 检查您的问题的更新答案。此外,用新问题更新您的问题也不是一个好主意。如果您的问题很重要,请创建一个单独的问题。可以在 cmets 中询问琐碎的查询。
  • 也通过了提问的tourguidelines

标签: android storage external internal


【解决方案1】:

Android 有 3 大类内存:

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

您可以在内部和外部之间进行选择来存储您的应用数据。

默认情况下,您的应用将安装在内存中,用户可以将其移动到外部存储中。

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

也可以看看this

更新:

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

检查this document

主要/资产/

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

【讨论】:

  • 谢谢,我现在知道了。我会选择第三种选择。但是现在,我想在外部存储中放置一个虚拟文件,并希望我的应用程序读取它以进行测试。我如何在 android studio 中做到这一点?
  • 在 Google 上搜索有很多关于在外部存储上读取、写入和创建文件的教程
  • 我在问是否可以手动通过 Android Studio IDE 放置文件,以便当应用程序安装在测试设备中时,它会使用 getExternalFilesDir 加载文件() 和过程。有许多通过代码从外部存储读取和写入的教程,我会在应用程序中使用它们。但是现在,我只想通过放置一个虚拟文件来进行测试。
  • 是的,这是可能的。从 ide 你可以从device monitor 访问DDMS 来浏览和推送你设备上的文件。您还可以在使用 USB 数据线将您的设备连接到任何 PC 后探索外部存储器。
猜你喜欢
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-14
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多