我是 Android 开发新手,正在创建一个 Android 应用程序。
当用户单击登录时,我应该在数据库中收到其数据。
我认为 Android 数据库连接存在问题:当我单击登录时,我的数据库中没有收到任何数据。
我使用 XAMPP 作为数据库。
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, pass);
String result = "Database connection successful";
PreparedStatement ps = con.prepareStatement("Insert into login VALUES(?, ?)");
ps.setString(1, email.getText().toString());
ps.setString(2, password.getText().toString());
ps.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} //end of insert button calling
catch (SQLException e) {
e.printStackTrace();
}
//to Fetch the Record
//finish();
login();
}
});
最佳答案
作为一个好的实践,您希望向应用程序的架构添加一些模块化。通常,身份验证逻辑不会在 Android 应用程序内部实现,而是在单独的模块中实现。例如,在驻留在服务器中的 PHP 文件中:
- 读取应用中的用户名和密码
- 将它们发布到 PHP 文件
- PHP 文件从数据库中读取数据,检查凭据是否正确,然后返回成功消息(加上适用的用户信息)或错误。
- 在您的应用程序中,您从 PHP 文件获取返回值,然后您决定要做什么(通常您会将用户移至下一个 Activity 或显示一些错误消息)。
您可能想看看本教程:https://www.tutorialspoint.com/android/android_php_mysql.htm
关于java - Android 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43249818/