java - Android Studio LoginActivity with MySQL - 尝试对网络服务进行身份验证

标签 java android mysql

我对 Android Studio 还很陌生。当用户想要登录/注册 MySQL 数据库(使用 phpMyAdmin)时,我尝试使用 LoginActivity 输入用户的电子邮件和密码。我的代码现在只能使用静态变量登录,请参见下面的代码。

在 LoginActivity.java 中,我得到了以下代码来使用静态变量测试登录:

//A dummy authentication store containing known user names and passwords.
//TODO: remove after connecting to a real authentication system.

private static final String[] DUMMY_CREDENTIALS = new String[]{
        "foo@example.com:hello", "bar@example.com:world"
};

LoginActivity.java 中还有这部分我不太理解:

@Override
    protected Boolean doInBackground(Void... params) {
        // TODO: attempt authentication against a network service.

        try {
            // Simulate network access.
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            return false;
        }

        for (String credential : DUMMY_CREDENTIALS) {
            String[] pieces = credential.split(":");
            if (pieces[0].equals(mEmail)) {
                // Account exists, return true if the password matches.
                return pieces[1].equals(mPassword);
            }
        }

        // TODO: register the new account here.
        return false; //CHANGED
    }

完整的LoginActivity.java here

我需要更改 LoginActivity 的哪一部分才能从 mySQL 数据库而不是静态变量登录并注册用户?任何帮助表示赞赏。谢谢!

最佳答案

我真的不明白为什么你需要这些静态变量。但是如果你想登录或注册一个用户到你的MYSQL数据,你需要的是发出一个HTTP请求,忘记那些静态变量。既然您提到了 phpMyadmin,我假设您对 PHP 有一些了解,您可以使用 XMAPP(window) 或 MAMP(osx) 设置本地主机服务器。

有很多方法可以将数据发送到自己的服务器,但最简单的方法是使用我推荐的第 3 方库 Android Volley

登录时,您需要进行查询以检查传递到服务器的用户名和密码是否确实存在。对于注册,只需将新记录插入到您的数据库中。如果您不知道什么是 HTTP 请求,请开始 here

关于java - Android Studio LoginActivity with MySQL - 尝试对网络服务进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42744497/

相关文章:

java - 我想恢复数据库

mysql - sql连接多个条件

mysql - 如果引用的列是计算列,则应将其持久化

Android 和 Google 自定义搜索 API

MySQL 中的 python (?) 占位符

main 方法中变量的 Javadoc 文本

java - 相等的字符串在 Java 中不相等(==)?

java - 在测试中找不到保存的实体

android - 如何塑造这个 TextView 左侧的边框?

java - 使用自定义类对象填充线性布局