您知道在Android中保护数据库的方法吗?
我想实现以下内容,但不知道是否可能:
使用sqlite3进行的测试表明,您可以在另一个应用程序使用它时更改数据库。因此,我认为可能某些外部应用程序可能会破坏您的数据或使用它,这很糟糕。
另外,您如何建议处理在数据库同时使用期间可能发生的数据库异常:
在这一切发生之后,您如何建议下次启动应用程序?
由于
答案 0 :(得分:6)
android系统自动实现并强制执行列表中的选项(1)。电话/系统上的每个应用程序都有自己的用户ID,没有任何应用程序可以访问任何其他应用程序的数据库文件。
如果您确实希望共享数据(使用访问控制),则可以创建内容提供程序,然后其他应用程序可以使用该提供程序:http://developer.android.com/intl/de/reference/android/content/ContentProvider.html
上述规则有几个例外:
基本上,您不必担心它。 Android通常会为您阻止这些问题。
答案 1 :(得分:5)
你真的应该担心。 很容易获得你的数据库甚至代码而不需要手机。 以下是如何执行此操作的示例:
现在你拥有一切,代码,数据库,图像,xml文件,一切!
所以我可以告诉你,你可以在几分钟内拥有其他人的代码和数据库。 要保护您的应用程序,请使用ProGuard,并对您的数据库使用某种类型的加密。我个人对每个字段数据进行加密并在运行时对其进行解密,简单的加密就像XOR一样,它并没有给性能带来太大的损失。