使用MySQL的Android Studio LoginActivity - 尝试针对网络服务进行身份验证

时间:2017-03-12 06:29:01

标签: java android mysql

我还是Android Studio的新手。我想尝试使用LoginActivity输入用户的电子邮件和密码,以便登录/注册到MySQL数据库(使用phpMyAdmin)。我的代码现在只能使用静态变量登录,参见下面的代码。

在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数据库注册用户而不是静态变量?任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

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

您可以通过很多方式将数据发送到自己的服务器,但最简单的方法是使用第三方库,我建议使用Android Volley

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