Android 将应用程序设置/数据保存在内部/外部存储中

发布于 2024-12-15 02:47:22 字数 354 浏览 2 评论 0原文

我需要一些帮助来了解我在 android 中可以做什么和不能做什么。我正在开发一个应用程序,该应用程序需要在第一次启动时要求用户选择一个设备(内部/外部存储)来保存我的应用程序通过互联网下载的数据。因此,我试图找到有关此问题的几个问题的答案:

  1. Android 中单个应用程序的内部/外部存储中的数据是否有任何限制。
  2. 我可以设置我的应用程序正在使用的 sqlite 数据库的目录吗?如果可以,这是否是一个好的做法。
  3. 当用户决定将应用程序数据的目的地从内部存储更改为外部存储时,我应该考虑什么。我应该再次创建所有文件夹等还是 Android 平台会自动执行此操作?

提前致谢!

I need a little help with understanding what can I do and cannot in android. I'm working on application which needs to ask user in first start to select a device (internal/external storage) where to save the data which my application is downloading over internet. So I'm trying to find answer for a few questions about this issue :

  1. Is there any limit for data in internal/external storage in Android for a single application.
  2. Can I set the directory of sqlite database which my app is using and If I can, is it a good practice or not.
  3. What should I consider when user decide to change the destination of application's data from internal to external storage. Should I create all the folders and etc. again or Android platform is doing it automatically?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟酒忠诚 2024-12-22 02:47:22
  1. 您对外部存储(SDCARD)的限制仅由其容量决定,我不确定内部存储,也许情况相同。
  2. 您可以扩展 SQLiteOpenHelper 并创建自己的数据库适配器,它将管理您的数据库并将其存储在 SD 卡或 /data/databases 目录中。我认为最好不要将数据库放在 SDCARD 上,因为任何其他应用程序都可以在那里访问它。另一方面,/data/ 文件夹是私有的。
  3. 这是一件棘手的事情。复制数据时应该小心。在写入文件之前检查文件目录是否存在。最好在尝试写入之前显式创建所有文件和目录。

这里是用于访问数据库的数据库助手的一个很好的示例。您可以对其进行修改,以便它可以使用外部和内部存储。

  1. Your limit on external storage(SDCARD) is determined only by its capacity, I'm not sure about the internal storage, maybe it's the same situation.
  2. You can extend SQLiteOpenHelper and create your own DB adapter, which will manage your database and store it on SD card or /data/databases directory. I think that it's better not to place database on SDCARD, because any other app can access it there. On the other hand, /data/ folder is private.
  3. It's tricky thing. You should be careful while copying data. Check whether directory of file exist, before writing into them. It's better to explicitly create all files and directories before trying to write to them.

Here is a good example of Database Helper for accessing database. You can modify it so it can use both external and internal storage.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文