我从android应用程序连接数据库时遇到问题。将connect的lib(mysql connector java.5.1.41-bin)添加到项目中。
连接和插入数据库的功能
public void insert(String SMS_ID, String SMS_ADRESS, String SMS_TEXT, String SMS_CREATOR, String SMS_DATE) throws SQLException {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://192.168.1.14:3306/smschecker";
Connection c = DriverManager.getConnection(url, "root", "root"); //there it jumps to catch (ClassNotFoundException e)
PreparedStatement st = c.prepareStatement("insert into SMS values (?,?,?,?,?)");
st.setString(1, SMS_ID);
st.setString(2, SMS_ADRESS);
st.setString(3, SMS_TEXT);
st.setString(4, SMS_CREATOR);
st.setString(5, SMS_DATE);
st.execute();
st.close();
c.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
来自DB GUI的屏幕截图
http://imgur.com/a/WXmkJ/连接信息
http://imgur.com/a/eFIoa/用户
问题可能是用户之间,应用程序没有进入数据库的权限,但我不知道如何为我的应用程序添加权限。
最佳答案
根据你在评论中发布的截图,确定了问题所在。
Caused by: android.os.NetworkOnMainThreadException
您不能在主线程上执行网络IO,可能需要将其移动到异步任务或新线程。
希望这有帮助!