最近在做一个Android的应用软件,为了图省事就打算使用Android通过JDBC连接Mysql,在这个过程中也遇到了些问题,通过网上查找最终整好了,把这个过程整理下。
一、准备条件
1.ADT和Android SDK最好是版本16,版本21的会提示找不到驱动的问题,这个问题在网上查了查有的说是因为在main thread(主线程)下导致的,可以开一个新的线程来通过JDBC连接Mysql,这个方法我没有试验。我是直接吧ADT和Android SDK直接降低为版本16来实现的。
降低版本的方法:
(1).ADT的降低
方法1》.通过在线的方式来安装版本16的ADT。
方法2》.现在官网把需要的ADT版本下载下来,然后断开网络安装ADT.
(2).SDK的降低
下载SDK Tools(版本16的名字是installer_r16-windows.exe(windows环境)),然后双击安装,然后把里面的文件和文件夹copy到之前的sdk tools目录。
然后从eclipse里面打开 Android Sdk Manager,然后在第一项的tools里面,再勾选AndroidSDK Platform-tools就行了,记得不要勾选AndroidSDK Tool。
2.把Mysql需要访问的库的权限更改下,赋予某某一个用户访问权限,更改完后才可以支持远程访问。我的电脑上的用户名是“root”,密码是“root”.
指令:
注:下面指令中第一个root是用户名,第二个root是密码。一定要执行“flush privileges”命令,不然再次访问时就不能远程访问了。
grant all privileges on 数据库名.* to 'root'@‘localhost’ IDENTIFIED by 'root';
grant all privileges on 数据库名.* to 'root'@'%' IDENTIFIED by 'root';
flush privileges;
解释:localhost表示可以通过本机访问指定的数据库。@‘%’表示可以通过远程访问指定的数据库。
二、在Android中实现通过JDBC访问Mysql
1.新建工程。在这里有个要注意的地方,最好使用android 2.X版本,我使用的是2.2版本。起初是使用的4.2版本老是无法成功,提示的错误也是无法找到驱动。后来改成了2.2版本,在主线程下就实现了JDBC访问Mysql。
2.导入Mysql的驱动jar包。我用的是mysql-connector-java-5.1.10-bin.jar。我的Mysql也是5.0版本的。
导入步骤:
选择工程-->右键 BuildPath-->Configur Build Path-->选择Java Build Path-->点击 AddExternal JARS-->选择下载的的jar包--->打开,确定
导入完成的效果:
3.使用JDBC连接Mysql
这个步骤和使用Java连接Mysql是一样的。
注:
1》.
conn = DriverManager.getConnection("jdbc:mysql://192.168.100.50:3306/losefind", "root", "root");
在上面的语言中那个192.168.100.50是自己的电脑IP地址,这个不能写成localhost或127.0.0.1。如果电脑没有插网线导致没有本地连接,而且也没有其他的 IP地址。那么你可以安装"Microsoft Loopback Adapter",安装完后默认是本地连接2,这个可以设置一个IP,使用这个IP地址就可以了。
2》.
写完代码后记得在AndroidManifest.xml文件中添加一行:
添加位置:
我参看的文章:
1. http://blog.csdn.net/conowen/article/details/7435231
2.http://blog.csdn.net/luzhenrong45/article/details/8933515