2011-07-22 65 views
-1

我有大约25 MB的预填充数据库,需要从assets文件夹复制到data/data/packagename /从代码访问数据库。如何从apk直接访问预填充的数据库?

我的问题是,当我从手机内存转移apk文件到SD卡,它提供了以下信息:

Total storage used: 27.54Mb 
Application: 892Kb 
Data: 26.67Mb 

,如果我运行的应用程序,数据库是从APK文件拷贝(从资产文件夹)到指定的内部手机内存的路径,数据库非常大,设备变慢。并最终存在数据库的重复,一个是在手机内存中,一个是在SD卡上的apk文件中。

所以我的问题是我可以直接从apk文件访问预填充的数据库,而无需复制到任何其他地方?请帮帮我。

注意:我已将数据库拆分为26个部分,因为资产文件夹不占用大于1.5 MB的文件。所以我需要分割整个数据库。

+0

是否有可能将此数据库用作远程? –

+0

不可以,因为这个数据库是从远程数据库定期更改的,并且它会周期性增加大小。 – iMOBDEV

+1

我正在开发像你这样的应用程序,巨大的分贝,然后在android上与一位软件工程师交谈,他说,更便宜,更好的电话是有远程数据库。您仍然从另一个数据库收集数据,您可以再次创建您的数据库作为远程,它仍然收到收集的数据。这只是一个想法。而对于你的问题,你不能直接从apk文件填充,除非你不把它写在某个地方或者把它放在内存中。 –

回答

1

我可以直接从apk文件访问预填充的数据库,而无需复制到任何其他地方吗?

不,对不起。

+0

所以我有最后一个选择将数据库从资产文件夹复制到SD卡(我不想存储数据库在手机内存中未来可能会增加尺寸),并从那里访问?如果是,我担心任何人都可以通过安装SD卡来访问该数据库。 – iMOBDEV

+0

@Jignesh Brahmkhatri:“所以我有最后一个选择,从资产文件夹复制数据库到SD卡” - 当然。 “如果是,我担心任何人都可以通过安装SD卡访问该数据库。” - 用户可以访问数据库,无论您存储在哪里。如果用户不应该访问数据库,请不要在设备上安装数据库。 – CommonsWare

+0

但我可以申请任何加密,打开应用程序后,数据库将被解密,并在关闭应用程序后,数据库将被加密? – iMOBDEV