Android通过JDBC直连MySql

最近在做一个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--->打开,确定

导入完成的效果:

Android通过JDBC直连MySql_第1张图片

3.使用JDBC连接Mysql

这个步骤和使用Java连接Mysql是一样的。

Android通过JDBC直连MySql_第2张图片

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文件中添加一行:

添加位置:

Android通过JDBC直连MySql_第3张图片


参看的文章:

1. http://blog.csdn.net/conowen/article/details/7435231

2.http://blog.csdn.net/luzhenrong45/article/details/8933515

你可能感兴趣的:(android)