0

I want to create simple app, where data from Mysql, hosted locally on xampp would be extracted and visible on phone. I prepared proper layout, but connection method do not work and exception is thrown.

String url_ad = "?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=GMT";
String url = "jdbc:mysql://127.0.0.1:3306/test"+url_ad;
String user = "rafal";
String password = "rafal";

try {
    Connection conn = DriverManager.getConnection(url,user,password);
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM Temperatury");
} catch (SQLException e) {
    e.printStackTrace();
}

These exception is thrown:

W/System.err: java.sql.SQLNonTransientConnectionException: Could not create connection to database server.
W/System.err:     at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
W/System.err:     at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
W/System.err:     at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
W/System.err:     at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
W/System.err:     at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:997)
W/System.err:     at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:814)
W/System.err:     at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444)
W/System.err:     at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)
W/System.err:     at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:580)
W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:218)
W/System.err:     at com.example.temperature.MainActivity.onCreate(MainActivity.java:38)
W/System.err:     at android.app.Activity.performCreate(Activity.java:8290)
W/System.err:     at android.app.Activity.performCreate(Activity.java:8269)
W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384)
W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3657)
W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3813)
W/System.err:     at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
W/System.err:     at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
W/System.err:     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2308)
W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:106)
W/System.err:     at android.os.Looper.loopOnce(Looper.java:201)
W/System.err:     at android.os.Looper.loop(Looper.java:288)
W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7898)
W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
W/System.err: Caused by: android.os.NetworkOnMainThreadException
W/System.err:     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1667)
W/System.err:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:389)
W/System.err:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
W/System.err:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
W/System.err:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
W/System.err:     at java.net.Socket.connect(Socket.java:646)
W/System.err:     at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153)
W/System.err:     at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63)
W/System.err:     at com.mysql.cj.NativeSession.connect(NativeSession.java:120)
W/System.err:     at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:944)
W/System.err:      ... 23 more         
  • Please [reconsider your use of JDBC on Android](https://stackoverflow.com/questions/15853367/jdbc-vs-web-service-for-android). – CommonsWare Feb 03 '23 at 14:52

0 Answers0