2011-11-14 121 views
2

我需要一点帮助,了解我可以做什么,不能在android中。我正在研究的应用程序需要首先要求用户选择一个设备(内部/外部存储),以保存我的应用程序通过互联网下载的数据。所以我试图找到关于这个问题的几个问题的答案:Android在内部/外部存储器中保存应用程序设置/数据

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

在此先感谢!

回答

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

Here是Database Helper访问数据库的一个很好的例子。您可以修改它,以便它可以使用外部和内部存储。

相关问题