Android开发 virtual device连接mysql始终无法连接的问题

问题最终还是没能解决,引用其他博客中的一段话

如果想要用云端数据库,一般不建议android设备直接连数据,并不是一个简单的导入jar就可以成功的,因为很多手机他的底层并没有数据库的链接驱动,就算这台手机可以,那台手机也可能是不可以的。
而且安全性是个很大的问题,android直连云端数据库,就算是毕业设计,验收也不会给你过吧。建议实现服务器端,搭建app——服务器——数据库 这样的一种结构系统,这才是正理。

原文链接:https://blog.csdn.net/qq_40651609/article/details/86756331

昨天晚上到今天一上午一直在解决Android 连接数据库连接不上的问题(virtual device :Google pixel 2 ,ide :android studio),期间使用过以下几个解决办法:

  • 导入mysql-connection jar包注意导入方法

    • 将jar包放入项目文件夹下
    • project structure中找到依赖包添加处(也就是dependence)
    • ➕ => jar
    • 选中mysql-connection jar
    • 检验是否导入方法:在项目build.gradle文件下可以看到添加了配置该导入的jar包的语法。implementation files('mysql-connector-java-5.1.0-bin.jar')
  • 在项目xml配置文件中添加virtual device 的权限配置语句(该问题在配置android 通信的过程中有碰到过,需要在项目的配置文件中添加virtual device的权限语句,添加网络配置语句等)

    • 在项目配置文件中添加配置可以连接数据库的语句
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
  • mysql jdbc 驱动的时候未能加载:

    • virtual device 是系统跑的一个虚拟机器,有自己的驱动,IP等等,运行程序是想到与将该apk包导入到virtual device中并安装,从而进行运行的。因此如果导入的程序中连接数据库的IP为localhost 的话相当于访问的virtual device的IP
    • 通过$ ifconfig来获取本机的IP
    • 将localhost 改为本机IP
  • mysql 数据库中有用户列表,在默认的自带的mysql数据库中,如果在navicat中打开这个数据库之后是无法看到这个表的。而这个表内存的是使用数据库的用户列表,一般本地都是root,但是此情况是virtual device 远程访问本机的mysql,而root用户无法访问,因此要添加一个其他的用户来供virtual device 去使用

    • navicat由于不太会使用,不知道在哪里该用户访问权限,直接在terminal中跑。
$ mysql

-> show datebases;
-> use mysql;
-> create user 'androidlocal'@'%'  identified by '123456';

提示用户权限不足,因此要更改权限

-> flush privileges;

然后再重新添加用户,并给添加的用户添加权限

-> create user 'androidlocal'@'%'  identified by '123456'; 
-> grant all privileges on *.* to 'androidlocal'@'%' identified by '123456';

然而上面的四种方法都没有解决问题,后来有搜索了一些方法,发现了开始的那段话,觉得很有道理。(可能Google pixel 2真就没法连……

发布了95 篇原创文章 · 获赞 19 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43345204/article/details/104097825