1.都看到这儿了,听我一句劝,mysql版本是8.xxx的就可以卸载重装5.xxx的了(不要侥幸)
2.Android studio用mysql-connector-java用8.xxx的不行,一直报错,原因未知,目前没有教程解决这个问题。所以只能降低mysql的版本。
安装MySQL
安装MySQL:安装教程
1.建议就按照这个教程走,方便后面使用改数据(直接改my.ini),不要直接运行安装程序点点点。
2.安装命令是mysqld install;不是mysql install。一定注意别少了'd',(我手贱自己手敲命令,一直报错,还搜不到原因,还眼瞎在这卡了一天,)
3.安装成功后登录,不要输:mysql -uroot -p密码。要先输:mysql -uroot -p,回车,然后输密码。
4.改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
5.开启远程连接:
1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' ;
2. flush privileges;
配置mysql-connector-java
1.下载mysql-connector-java
mysql-connector-java各种版本下载地址:链接
mysql与connector版本对照表:链接
5.7的mysql用5.1的connector就行
加载mysql-connector-java到Android中
将下载好的mysql-connector-java包放入项目中的lib文件夹中,如图:
一定要点Add As Library,才能加载成功。
代码
链接数据库只能在子线程中运行,所以一个MainActivity,一个工具类Connection。
(代码网上很多,这个也是抄的,我也不记得抄的谁的了,亲测能用)
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 = "192.168.43.97";
int port = 3306;
String dbName = "mysql";
String url = "jdbc:mysql://" + ip + ":" + port
+ "/" + dbName+"?useUnicode=true&characterEncoding=utf-8&useSSL=false";
// 构建连接mysql的字符串
String user = "root";
String password = "lyx123";
// 3.连接JDBC
try {
java.sql.Connection conn = DriverManager.getConnection(url, user, password);
Log.d(TAG, "数据库连接成功");
conn.close();
return;
}
catch (SQLException e) {
Log.e(TAG, e.getMessage());
}
}
}
});
thread.start();
}
}
1.记得改ip(数据库运行的电脑的ip)、数据库名(dbname)、用户名和密码(user、password)。
2.url中部分文章没有加"?useUnicode=true&characterEncoding=utf-8&useSSL=false"也能连接成功,建议加上,能避免很多问题。
3.添加网络权限到Mainfest里面:文章来源:https://www.toymoban.com/news/detail-408240.html
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
运行成功:
文章来源地址https://www.toymoban.com/news/detail-408240.html
到了这里,关于Android studio连接mysql(能踩的坑都踩了)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!