Android - 使用SQLite的最佳方式?

时间:2013-12-12 08:57:16

标签: android sqlite assets

我正在开发一个Android应用程序,它包含需要连接到数据库的活动。我在assets文件夹中添加了我的数据库文件,该文件夹在应用程序第一次运行时被复制到应用程序数据库目录,但是“assets”目录和“data”目录(在root设备上)可以被任何其他应用程序访问。我在使用数据库文件或在代码中创建数据库时感到困惑。如果我在代码中创建数据库,它会使数据库文件在“assets”文件夹中消失。当用户将文件扩展名从.apk更改为.zip时,数据库文件将不会出现在assest文件夹中。我应该怎么做?

请给我一些建议!

3 个答案:

答案 0 :(得分:1)

这两种方式都很好,很有用,完全取决于你的需要。 通过在代码中创建数据库,您可以保护您的数据免受其他应用程序的影响,但是以这种方式创建数据会非常麻烦,所以我建议您在assets文件夹中使用db或sqlite文件,同时在设备或数据文件夹上复制数据库一些安全参数用于加密它,或者您可以在设备上隐藏您的应用程序数据库文件夹,以便其他应用程序和用户无法轻松访问它。

答案 1 :(得分:1)

保持数据库资产文件夹中的数据库并不是一个不好的做法加上它可以节省创建数据库的编码,只要你想让它变得安全就必须做两件事

1.在assests文件夹中保存数据库,并将其复制并保存在内部存储器中,现在它只对您的应用程序可用并从assests文件夹中删除。

2.使用Proguard保护它免受某人反编译您的应用程序并获得该组合。

如果它在应用程序和你的应用程序中的机密数据是值得的,那么你也可以去“加密数据”但是它是一个TDS任务,看看你现在适合你的。

答案 2 :(得分:0)

老实说,这是关于这个主题的最好的解释和非常完整的教程 SQLite Android Tutorial

不要厌恶,因为它有点长。一切都很好地解释,你不必考虑资产文件夹在不同设备上的位置等等......