试了好长时间终于成功了
1、添加依赖
implementation 'mysql:mysql-connector-java:5.1.6'
2、添加权限
<uses-permission android:name="android.permission.INTERNET"/>
3、编写工具类
package com.example.myapplication.util;
import android.util.Log;
import java.sql.ResultSet;
import com.example.myapplication.domain.User;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtils {
private static final String TAG ="Dbutils";
private static String driver="com.mysql.jdbc.Driver";
private static String user="root";
private static String password = "123456";
public static Connection getConn(){
Connection connection = null;
try{
Class.forName(driver);
String url = "jdbc:mysql://IP:PORT/表名";
connection= DriverManager.getConnection(url, user, password);
Log.e("数据库连接", "成功!");
} catch (Exception e) {
Log.e("数据库连接", "失败!");
e.printStackTrace();
}
return connection;
}
public static User getUser() {
User user=new User();
Connection connection = getConn();
if (connection!=null){
String sql="select * from user";
try{
java.sql.Statement statement = connection.createStatement();
ResultSet rSet = statement.executeQuery(sql);
while (rSet.next()) {
user.setName(rSet.getString("name"));
user.setPassword(rSet.getString("password"));
Log.e(TAG,"数组组装成功");
}
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
};
Log.e(TAG,"数组已返回");
return user;
}
}
4、使用
new Thread(new Runnable() {
@Override
public void run(){
User user= DBUtils.getUser();
Log.d("dljkfs",user.toString()); }
}).start();
之前出现的问题:
1、没使用多线程
2、uri拼接导致出错