一、步骤

1、在libs加入jdbc,右键并选择Add As Library

2、manifests中设置网络权限。


写上

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

3、Android4.0以后版本不支持在主线程中执行耗时操作,对数据库的操作要新开一个线程。
简单示例:(具体应用涉及到线程数据传递)

new Thread(new Runnable() {
@Override
public void run() {
String CLS=“com.mysql.jdbc.Driver”;
String URL=“jdbc:mysql://IP地址:3306/数据库名” />
5、mysql的用户要保证能有权限远程访问(用户要以@%结尾,怎么操作可以百度)
是否能远程访问可以用navicat测试,下图为没权限的root用户

二、遇到的问题

1、仔细看好mysql和jdbc的版本。一般5.6的mysql可以用mysql-connector-java-5.1.8等一些jdbc。但我尝试mysql8.0+版本与8.0+的jdbc连接不上数据库app闪退。8.0+的mysql也可以使用低版本的jdbc。

使用jdbc5+

Class.forName(“com.mysql.jdbc.Driver”);

使用jdbc8+,修改为

Class.forName(“com.mysql.cj.jdbc.Driver”);

2、一定注意远程访问权限的问题(上述)
3、要用主线程外的线程访问数据库(上述)