iT邦幫忙

0

Androis studio 連接 MySQL 失敗 使用jdbc

我在eclipse 可以連接
我在android studio 單獨測試下 可以連接
但在activity 模式下 使用就沒辦法連接

public class Main {

        public static void main(String[] args) throws SQLException {
            Thread t1 = new Thread(new Text1());
            t1.start();
        }

        public static class Text1 implements Runnable {
            @Override
            public void run() {
                String url = "jdbc:mysql://127.0.0.1:3306/newaaa";
                String user = "root";
                String password = "a12345678";
                Connection conn ;
                try {
                    conn = DriverManager.getConnection(url, user, password);
                    System.out.println("連接成功");
                } catch (SQLException e) {
                    System.out.println("連接失敗" + e);
                }
            }}
    }

有添加網路開啟
<uses-permission android:name="android.permission.INTERNET" />
也有另開thread
也有導mysql-connector-java-8.0.24包

為什麼在activity下連接不上呢?

另外我電腦網路使用的是手機基地台的網路
所以我在猜想是不是本地IP相關的問題
故在網路上查詢到了 測試用線上MySQL数据库 db4free.net

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Thread t1 = new Thread(new Text2.Text1());
        t1.start();
    }
    public static class Text1 implements Runnable {

        @Override
        public void run() {
            String url = "jdbc:mysql://db4free.net:3306/newaaa";
            String user = "XXX"; //線上申請的帳號
            String password = "XXX"; //線上申請的密碼
            
            try {
                Connection conn = DriverManager.getConnection(url, user, password);
                System.out.println("連接成功");
            } catch (SQLException e) {
                System.out.println("連接失敗" + e);
            }
        }}
}

結果是失敗的

在一般eclipse java專案下 可以連上
android studio 一般java專案下 也可以連上

就是在activity 模式下 使用就沒辦法連接 跟前面結果是一樣的

能給我任何方向 我都不勝感激

又回到我以前所講的~~3306曝露在公網上,安全嗎?
請不要把code 用圖片貼上來
好的已修改
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-06-16 08:56:02

可以參考這篇
寫得很詳細

0
小魚
iT邦大師 1 級 ‧ 2021-06-16 21:29:42

看起來是連外網,
所以你用資料庫軟體直接連可以嗎?

很抱歉 我不太懂你的意思..
eclipse上可以連
android studio 沒辦法連

我要發表回答

立即登入回答