gpt4 book ai didi

java - 不能在 Android 应用程序中使用 Drivermanager.getConnection(...)

转载 作者:行者123 更新时间:2023-11-29 02:45:28 25 4
gpt4 key购买 nike

我在从 Android 应用程序连接到我的数据库时遇到问题。用于连接的库 (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,您可能必须将其移至异步任务或新线程。

希望这对您有所帮助!

关于java - 不能在 Android 应用程序中使用 Drivermanager.getConnection(...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43006602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com