Android Studio通过jdbc访问云端MySQL数据库,我这里以腾讯云数据库为例子
1.云数据库设置
首先需要购买一个云mysql数据库,我这里使用的是腾讯云服务器,进行相应设置
首先点击管理
之后打开外网地址,则会显示外网地址和外网端口
记住外网地址和外网端口,下面会用到
之后登录数据库,新建相应的数据库和表
记住你的数据库的登录账号和密码,记住你数据库和表的名字
2.在androidstudio下导入 mysql-connector-java-5.1.X-bin.jar 的jar包
我这里下载的是mysql-connector-java-5.1.46-bin.jar
下载解压,将下列mysql-connector-java-5.1.46-bin.jar复制到app->libs下面
之后右键该jar ->add as jar
3.编写MainActiviry.java
package com.example.yundate;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
DBConnection.link();
}
}).start();
}
}
4.创建DBConnection.java
package com.example.yundate;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class DBConnection {
public static void link (){
//要连接的数据库url,注意:此处连接的应该是服务器上的MySQl的地址
String url = "jdbc:mysql://外网地址:端口/数据库名称";
//连接数据库使用的用户名
String userName = "登录账号";
//连接的数据库时使用的密码
String password = "密码";
Connection connection=null;
try {
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("驱动加载成功!!!");
}
catch (Exception e){
e.printStackTrace();
}
try {
//2、获取与数据库的连接
connection = DriverManager.getConnection(url, userName, password);
System.out.println("连接数据库成功!!!");
//3.sql语句
String sql = "INSERT INTO driver (id, name) VALUES ( '24100413', 'ljy')";
//4.获取用于向数据库发送sql语句的ps
PreparedStatement ps=connection.prepareStatement(sql);
ps.execute(sql);
}catch (Exception e) {
e.printStackTrace();
}
finally {
if(connection!=null){
try {
connection.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
}
}
5.在AndroidManifest.xml中添加联网权限
<uses-permission android:name="android.permission.INTERNET"/>
6.程序运行
原本:
运行后即插入了一条数据: