1、Android平台下与服务器数据库通信的方法
在Android平台下,连接电脑服务器的MySQL、PostgreSQL、Oracle、Sybase、Microsoft SQLServer等数据库管理系统DBMS(databasemanagement system),主要有以下两种方法:
方法1、直接连接
在Android工程中引入JDBC驱动,直接连接。(本文主要介绍此种方法)
方法2、间接连接
在服务器上用PHP+DBMS做服务器端,PHP将DBMS中的数据用json或者xml进行封装。然后再发封装好的数据返回给Android平台。
注意:
采用JDBC方法主要问题是安全性不高,而且一旦要访问的数据量过多,容易出问题。另外,Android系统本身有对json或者xml直接解析的api,所以建议采用第二种方法,实用性与安全性都提高了。
2、JDBC简介
JDBC是Java Data Base Connectivity的缩写,意思为“java数据库连接”,由一组用Java语言编写的类和接口组成,为java层直接操作关系型数据库提供了标准的API。原理很简单,主要是先服务器DBMS发送SQL(结构化查询语言)指令。实现各种数据库的操作。
3、如何在Android中使用JDBC与服务器数据库通信
在Android工程使用JDBC连接数据库的主要步骤如下:
加载JDBC驱动程序------->建立连接--------->发送SQL语句。
3.1加载JDBC外部jar包
在Android工程中要使用JDBC的话,要导入JDBC的外部jar包,因为在java的JDK中并没有JDBC的API。
我用的jar包是mysql-connector-java-5.0.8-bin.jar,这是由MySQL官方提供的jar包。
我之前在网上查到的jar包导入方式都是:在eclipse选择工程,右键---->Properties---->在左侧选项“Java Build Path”---->切换到“Libraries”---->选择“Add External JARs”---->找到mysql-connector-java-5.0.8-bin.jar,导入---->完毕。
但是经过实践之后,总是报java.lang.NullPointerException错误。
在网上找资料后,找到解决办法:
ADT 18在编译外部jar包的方式发生改变了,build path的方式无效了,正确的做法应该是:
在项目上点右键 ->新建一个文件夹libs(如果项目中存在,则不需要再新建)->复制jar包到libs文件夹。
3.2建立数据库连接
Android与不同的数据库连接方式是不一样的,主要有一下几种:
/*DB2连接方式*/
Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");
St