今天我对Android studio连接mysql数据库实现web界面与Android手机端的信息传递做了一些工作
我通过在网络查询,得知Android链接数据库需要5.xx以下版本的数据库,然后需要将打开数据库命令行,打开远程连接功能 GRANT ALL......
然后再Android界面将jdbc放入到libs文件夹下,并且点击add as 将jdbc添加到本项目中,
在Android项目下的manfests项目里面添加数据库的网络权限,在
MainActivitiy项目中需要添加本机的ip地址,如果使用虚拟机,则使用10.0.2.2作为地址号,
package com.example.paiban; import android.os.Bundle; import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import com.mysql.jdbc.Statement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Connection.mymysql(); } public class Connection { private static final String TAG = "mysql11111"; java.sql.Connection conn=null; public static void mymysql(){ final Thread thread =new Thread(new Runnable() { @Override public void run() { while (!Thread.interrupted()) { try { Thread.sleep(100); // 每隔0.1秒尝试连接 } catch (InterruptedException e) { Log.e(TAG, e.toString()); } // 1.加载JDBC驱动 try { Class.forName("com.mysql.jdbc.Driver"); Log.v(TAG, "加载JDBC驱动成功"); } catch (ClassNotFoundException e) { Log.e(TAG, "加载JDBC驱动失败"); return; } // 2.设置好IP/端口/数据库名/用户名/密码等必要的连接信息 String ip = "10.0.2.2"; int port = 3306; String dbName = "jxp"; String url = "jdbc:mysql://" + ip + ":" + port + "/" + dbName+"?useUnicode=true&characterEncoding=utf-8&useSSL=false"; // 构建连接mysql的字符串 String user = "root"; String password = "123456"; // 3.连接JDBC try { java.sql.Connection conn = DriverManager.getConnection(url, user, password); Log.d(TAG, "数据库连接成功"); String sql = "select name from test"; Statement st = (Statement) conn.createStatement(); ResultSet rs = st.executeQuery(sql); while (rs.next()) { String jxp = rs.getString("name"); Log.i("MainActivity", jxp); } conn.close(); return; } catch (SQLException e) { Log.e(TAG, e.getMessage()); } } } }); thread.start(); } } }
自此Android连接mysql数据库完成,web可以和android公用同一套数据库。




浙公网安备 33010602011771号