1.首先我们需要导入mysql驱动jar包下载地址:
在android studio的build.gradle中插入
dependencies {
implementation 'mysql:mysql-connector-java:5.1.30'
}
2、建立JDBCutils类
public class JDBCutils {
//第一步
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//第二步
public static Connection getConn() {
Connection conn = null;
try {
conn= DriverManager.getConnection("jdbc:mysql://192.168.43.215:3306/user","root","1234");//注意格式和空格
}catch (Exception exception){
exception.printStackTrace();
}
return conn;
}
public static void close(Connection conn){
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
分析:jdbc:mysql://192.168.43.215:3306/user","root","1234"语句
1、jdbc:mysql://基本格式
2、192.168.43.215你当前连的网的Ipv4地址(可以在cmd命令窗口输入ipconfig命令,找到你连的网(注意是你连的网)的Ipv4地址,我连的是自己的热点找"无线局域网适配器 WLAN:"下的ipv4)
3、user是你mysql的建立的数据库名称
4、root是mysql的用户名,1234是密码(可以在cmd命令窗口中输入 mysql -u root -p1234登入,如下结果是登录成功)
5、**注意这条语句要紧凑,中间不要出现空格否则会失败;**
![](https://img-blog.csdnimg.cn/7452371f349140db9ef48e3e6604094b.png)
3、在AndroidManifest.xml中加一句
<uses-permission android:name="android.permission.INTERNET" />用于连接网络
4、建立Userdo类写sql语句(如下实现登录和注册功能)
public class UserDao {
public boolean login(String name,String password) throws SQLException {
String sql = "select * from users where name = ? and password = ?";
Connection con = JDBCutils.getConn();
try {
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1,name);
pst.setString(2,password);
if(pst.executeQuery().next()){
return true;
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return false;
}
public boolean register(User user) throws SQLException {
String sql = "insert into users(name,username,password,age,phone) values (?,?,?,?,?)";
Connection con = JDBCutils.getConn();
try {
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1,user.getName());
pst.setString(2,user.getUsername());
pst.setString(3,user.getPassword());
pst.setInt(4,user.getAge());
pst.setString(5,user.getPhone());
int value = pst.executeUpdate();
if(value>0){
return true;
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return false;
}
public User findUser(String name) throws SQLException {
String sql = "select * from users where name = ?";
Connection con = JDBCutils.getConn();
User user = null;
try {
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1,name);
ResultSet rs = pst.executeQuery();
while (rs.next()){
int id = rs.getInt(0);
String namedb = rs.getString(1);
String username = rs.getString(2);
String passworddb = rs.getString(3);
int age = rs.getInt(4);
String phone = rs.getString(5);
user = new User(id,namedb,username,passworddb,age,phone);
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return user;
}
}
5、建立User实体类
package com.example.plant.Object;
public class User {
private int id;
private String name;
private String username;
private String password;
private int age;
private String phone;
public User() {
}
public User(int id, String name, String username, String password, int age, String phone) {
this.id = id;
this.name = name;
this.username = username;
this.password = password;
this.age = age;
this.phone = phone;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
6、调用login或 register方法。
注意:在运行android studio的模拟器的时候可能会失败;
可能原因:
1、第一、二、三步有问题没有按照上面写;
2、你的模拟器版本是版本太高换android studio 9模拟器;
3、你看一下你的模拟器的wife是真的连上了;
也可以看看这个:
(9条消息) Android学习 ① Android连接不上Mysql数据库的多种原因以及解决方式_android mysql连接_林林zonzon的博客-CSDN博客
我的解决办法(可能有点投机取巧我直接用第三方模拟器):
1、安装模拟器(我用的是逍遥模拟器)
(9条消息) 教你在HbuilderX上使用模拟器运行uni-app,良心教学!!!_hbuilderx运行app_梦吉网络的博客-CSDN博客
2、在androis studio的控制台(Terminal)输入命令具体看这里(逍遥安卓模拟器:adb connect 127.0.0.1:21503)过一会
(9条消息) 新版androd studio怎样连接第三方模拟器_android studio怎么连接模拟器_1314.xinyx的博客-CSDN博客
其他关于模拟器联网失败:(我用了没用)
(9条消息) Android Studio模拟器无法连接网络_android虚拟机无法连接网络_ioT_wwhl的博客-CSDN博客
其他配置环境变量:
在用户变量和系统变量中的path设置sdk的路径找到adv(我的路径是这样的)
D:\Software\AndroidStudio\sdk\platform-tools
版权归原作者 事在躬行 所有, 如有侵权,请联系我们删除。