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

时间:2011-11-14 08:47:56

标签: android storage application-settings

我需要一些帮助来理解我能做什么,不能在android中做什么。我正在开发应用程序,需要在第一次启动时询问用户选择一个设备(内部/外部存储),在那里保存我的应用程序通过Internet下载的数据。所以我试图找到关于这个问题的几个问题的答案:

  1. 对于单个应用程序,Android内部/外部存储中的数据是否有限制。
  2. 我可以设置我的应用正在使用的sqlite数据库目录吗?如果可以的话,这是不是一个好习惯。
  3. 当用户决定将应用程序数据的目标从内部存储更改为外部存储时,我应该考虑什么。我应该再次创建所有文件夹等,还是Android平台自动完成?
  4. 提前致谢!

1 个答案:

答案 0 :(得分:1)

  1. 您对外部存储的限制(SDCARD)仅取决于其容量,我不确定内部存储,也许是相同的情况。
  2. 您可以扩展SQLiteOpenHelper并创建自己的数据库适配器,它将管理您的数据库并将其存储在SD卡或/ data / databases目录中。我认为最好不要将数据库放在SDCARD上,因为任何其他应用都可以在那里访问它。另一方面,/ data /文件夹是私有的。
  3. 这很棘手。复制数据时应该小心。在写入之前检查文件目录是否存在。在尝试写入之前,最好显式创建所有文件和目录。
  4. Here 是用于访问数据库的Database Helper的一个很好的例子。您可以对其进行修改,以便它可以同时使用外部和内部存储。