我有问题从Android应用程序连接到我的数据库。连接的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 //连接信息
问题可能出在用户之间,该应用无权进入数据库,但我不知道如何为我的应用添加权限。
答案 0 :(得分:0)
根据您在评论中发布的屏幕截图,确定了问题。
Caused by: android.os.NetworkOnMainThreadException
您无法在主线程上执行网络IO,您可能需要将其移至异步任务或新线程。
希望这有帮助!