我正在尝试创建一个注册活动,我想知道我是否可以使用共享首选项数据库。由于时间有限,最重要的是,如何检查该数据库中是否已存在用户名或密码。这是为了防止其他人像所有需要注册的应用程序一样输入匹配的记录。我尝试过if语句,但我不知道如何继续。
答案 0 :(得分:2)
为了使Vucko的评论更加清晰,SharedPreferences
仅仅是用户设备上的.xml文件,这意味着如果手机已植根,任何人都可以访问该文件 - 您不希望出现安全漏洞。
找一个好的教程并为你的应用实现一个MySQL DB
(你可以找到像hostinger这样的免费托管服务)并通过PHP REST服务连接到它。 Google Volley
库将帮助您处理来自您服务的JSON
响应,您可以使用它将用户名,密码等发布到数据库以存储它们。
使用PHP的BCRYPT
算法在将密码存储到数据库之前对其进行加密,并在比较密码时使用password_verify()
(您可以阅读有关BCRYPT
的PHP手册)。
当需要教程时,我建议也在YouTube
上搜索。有时那里有非常好的教程。对此事做同样的事。
Google Way :
如果这不是一个大项目,或者即使它是,那么您可以使用 Google登录而根本没有数据库。它的设置相对容易,如果您对我提到的所有内容都不熟悉,可能会花费更少的时间。我不确定你是否需要Developer Account
(费用为25美元,但你还需要它才能将应用程序发布到商店)。当用户成功登录时,您可以保存他们用于登录过程的Google e-mail
地址,并在SharedPreferences
中将isLoggedIn的布尔值设置为true。实际身份验证将全部发生在Google
服务器上,除了处理结果 - 成功或失败之外,您无需执行任何操作。
PHP BCRYPT :http://php.net/manual/en/function.password-hash.php
(不要使用MD5
,它被认为是不安全的,不再被专家建议用于密码加密)
有关JSON的更多信息:What is JSON
排球:http://developer.android.com/training/volley/index.html
示例教程: http://www.tutorialsbuzz.com/2014/12/android-php-insert-mysql-db-volley.html