Android app

时间:2017-03-24 18:21:17

标签: java android mysql android-studio jdbc

我有问题从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 //连接信息

http://imgur.com/a/eFIoa //用户

问题可能出在用户之间,该应用无权进入数据库,但我不知道如何为我的应用添加权限。

1 个答案:

答案 0 :(得分:0)

根据您在评论中发布的屏幕截图,确定了问题。

Caused by: android.os.NetworkOnMainThreadException

您无法在主线程上执行网络IO,您可能需要将其移至异步任务或新线程。

希望这有帮助!