学习用尝试直连mysql5.7
public void run() {
Connection cn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://IP:Port/db";
String user="root";
String password="123456";
cn= DriverManager.getConnection(url,user,password);
//程序执行到这一步抛出异常
if(cn!=null)
Log.e("ccc","cccc");
String sql="select B_Name from book";
Statement st=(Statement)cn.createStatement();
ResultSet rs=st.executeQuery(sql);
while(rs.next()){
String mybook=rs.getString("B_Name");
Log.e("Mainactivity",mybook);
}
cn.close();
st.close();
rs.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}).start();
服务器的MySQL57服务开着, IP、Port、User和Password我都用Navicat测过,有效。排查下来不知道问题可能出在哪里。
看下你的catch丢出了什么错误。最有可能的是两个原因,一个是mysql的驱动问题,它是否能在 android 上用,这个很难说,反正没人试过。祝你好运。
另一个是网络问题,你Navicat是在pc上运行的吧,但是你的手机的网络能连上么?你手机的防火墙是否阻止了连接呢,你手机的权限是否不允许访问这个端口呢。
感觉是导入一个驱动包就可以了
换ip,10.0.2.2。