如何在安卓设备上成功连接并登录MySQL数据库?
下面是安卓连接MySQL登陆的详细步骤:
1、开发环境的部署
程序结构:
安卓端:Android Studio
服务器端:Tomcat
数据库:MySQL
服务器工具:MyEclipse
数据库工具:Navicat
网络权限配置:在AndroidManifest.xml中添加网络权限。
<uses-permission android:name="android.permission.INTERNET"/>
导入jar包:将mysql-connector-java-5.1.30-bin.jar导入项目的libs文件夹,并在build.gradle文件中添加依赖项。
implementation files('src/main/libs/mysql-connector-java-5.1.30-bin.jar')
2、数据库设计
表名称:student
建表语句:
CREATE TABLEstudent
(Id
int(11) NOT NULL AUTO_INCREMENT,username
char(20) NOT NULL DEFAULT '',password
char(20) NOT NULL DEFAULT '', PRIMARY KEY (Id
) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
3、服务器端设计
新建Web Project:命名为HelloWeb,删除WebRoot的index.jsp。
项目结构图:
LogLet类和RegLet类分别用于处理客户端的登录和注册请求。
Service类用于完成servlet对数据库的具体操作。
DBManager类用于进行数据库基本操作。
项目代码:
DBManager.java:
package com.db; import java.sql.*; public class DBManager { // 数据库连接常量 public static final String DRIVER = "com.mysql.jdbc.Driver"; public static final String USER = "root"; public static final String PASS = "root"; public static final String URL = "jdbc:mysql://localhost:3306/test"; // 静态成员,支持单态模式 private static DBManager per = null; private Connection conn = null; private Statement stmt = null; // 单态模式-懒汉模式 private DBManager() {} public static DBManager createInstance() { if (per == null) { per = new DBManager(); per.initDB(); } return per; } // 加载驱动 public void initDB() { try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { e.printStackTrace(); } } // 连接数据库,获取句柄+对象 public void connectDB() { System.out.println("Connecting to database..."); try { conn = DriverManager.getConnection(URL, USER, PASS); stmt = conn.createStatement(); } catch (SQLException e) { e.printStackTrace(); } System.out.println("SqlManager:Connect to database successful."); } // 关闭数据库 关闭对象,释放句柄 public void closeDB() { System.out.println("Close connection to database.."); try { stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } System.out.println("Close connection successful"); } // 查询 public ResultSet executeQuery(String sql) { ResultSet rs = null; try { rs = stmt.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; } // 增添/删除/修改 public int executeUpdate(String sql) { int ret = 0; try { ret = stmt.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } return ret; } }
以下是与本文相关的两个问题及其解答:
1、如何确保Android设备能够连接到MySQL数据库?
确保Android设备的网络权限已经开启,并且在AndroidManifest.xml中添加了以下权限:
<uses-permission android:name="android.permission.INTERNET"/>
确保MySQL数据库允许远程连接,并且防火墙设置允许相应的端口(默认是3306)通过,可以在MySQL配置文件中设置bind-address = 0.0.0.0
来允许远程连接。
确保使用的IP地址和端口号是正确的,特别是在使用本地回环地址时,应该使用10.0.2.2
而不是localhost
或127.0.0.1
。
确保MySQL用户名和密码正确无误。
2、如何处理Android与MySQL之间的数据交互?
通常通过HTTP协议进行通信,Android客户端发送HTTP请求到服务器端,服务器端处理请求并与MySQL数据库交互,然后将结果返回给Android客户端。
可以使用JSON格式来传输数据,这样可以方便地解析和处理数据,可以使用Gson库来序列化和反序列化JSON数据。
确保服务器端能够正确处理来自Android客户端的请求,并且能够根据请求类型执行相应的数据库操作(如查询、插入、更新、删除等)。
到此,以上就是小编对于“安卓连接mysql登陆”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。