【发布时间】:2013-01-01 16:02:41
【问题描述】:
我从论坛上读到了一些东西。有人开发了一个安卓应用程序。他使用 SharedPreference 而不是 SQLite 来存储密码。
我想知道原因。 SharedPreference 与 SQLite 相比是否具有更高的安全性?
我在 Google 上搜索过 SharedPreference,但不是很了解。
感谢您的信息。
【问题讨论】:
标签: android
我从论坛上读到了一些东西。有人开发了一个安卓应用程序。他使用 SharedPreference 而不是 SQLite 来存储密码。
我想知道原因。 SharedPreference 与 SQLite 相比是否具有更高的安全性?
我在 Google 上搜索过 SharedPreference,但不是很了解。
感谢您的信息。
【问题讨论】:
标签: android
如果你用 Google 搜索得足够好,你会得到比你想知道的更多的信息。认真的。
还有什么? 一切尽在掌握!耶。
【讨论】:
我两者都用,当我问他时,我的导师告诉我的是这真的是个人喜好问题。我使用 mysql 和共享首选项作为 android 应用程序中的会话的等价物 + 从我可以告诉它共享首选项的预期目的以及如果我不需要,为什么将这种简单数据存储在 mysqlite 数据库中?我只需要存储一些短数据字段,并且不需要编辑这些数据。 Mysqlite 在这种情况下有点矫枉过正,但这里有一些很好的例子:
共享首选项:
http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/
用mysqlite登录:
http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/
(注意:如果 dl 来自两个登录示例的源代码可以轻松转换为使用共享首选项。该站点上的几乎所有代码都已重构为单独的类,可以一遍又一遍地重复使用没有编辑。
不要误会我的意思,我确实使用 mysqlite 来缓存用户配置文件/提要等..,所以他们不必等待它加载,最终我可能会使用所有 3 个(mysql、共享首选项和 mysqlite)作为我的登录。 (例如:允许用户第一次注册->查询mysql,将数据存储为共享首选项作为会话,将用户数据存储在mysqlite中,以便用户注册后可以登录并查看现有的缓存消息等..甚至w. 通过查询 mysqlite db 并将返回的值存储在共享首选项中来断开 Internet 连接(我当然会在服务器端收到信号后立即验证这些凭据/在我允许他们更改或编辑任何内容之前.
【讨论】:
当然,我不知道“某人”的动机,但我可以想象它只是实现起来更简单。它肯定不会更安全。
【讨论】: