分享

Android连接MySQL数据库的方法以及可能会遇到的一些问题

 3克拉的Anran 2022-04-28

Android连接数据库一般有两种方法

(1)通过服务器连接,利用服务器对数据库进行增删改查等操作,这是最常用的方式。学有余力的小伙伴可以去查阅《Android和PHP开发最佳实践》这本书,它以一个完整的微博应用项目实例为主线,由浅入深地讲解了Android客户端开发和PHP服务端开发的思路和技巧。介于本人是一个Tomcat和PHP都不会的废物,因此放弃了这种方式,采取了另一种方式;

(2)在Android内部直接访问MySQL数据库。这种方式非常耗手机内存,而且容易被反编译造成安全隐患,所以在实际项目中不推荐使用。本文将介绍直接访问的方法以及一些可能会遇到的问题。

准备

想要在Android工程中实现直接连接MySQL的话需要先导入jar包。在main文件夹下新建一个名为libs的文件夹,将jar包添加到里面。

添加好之后右击,选择Add As Library…

之后在build.gradle文件中会出现:

这就说明依赖已经导入成功了。

一定要记得在权限列表AndroidMainfest.xml中添加请求访问网络的权限

接下来就可以开心的访问数据库了

定义DbUtil类来进行数据库的访问

简单的写一个布局用来进行数据库访问的测试

跟之前java开发一样,在活动中写一个方法来进行数据库的访问

这是错的!!!

运行程序,在EditText中输入数据库中的设置好的账号和密码,点击登录

数据库中的信息

然后,果不其然的。。。失败了。。。

报了一个错"com.mysqljdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server."大概意思是数据库连接驱动版本太低,要我提高MySQL数据库连接驱动的版本。

但是据了解Android直接访问数据库最高只能使用MySQL 5.+版本,换成MySQL 8.+后会出现更奇怪的错误。

想了好久,终于意识到访问数据库是一个耗时操作,直接放在主线程中跑肯定会出问题。

于是便有了一下版本,将数据库访问放到一个子线程中,使用handler通知主线程更新UI

正确操作

运行程序,在EditText中输入数据库中的设置好的账号和密码,点击登录

访问成功,ヾ(✿゚▽゚)ノ撒花

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多