移动设备中常用sqlite数据库,android设备中也不例外。
本节介绍怎么使用android连接mysql/ target=_blank class=infotextkey>mysql数据库?
在实际项目中很少使用android连接mysql数据库,通常是在Android客户端通过Http请求将数据传送到服务端,然后再服务端连接mysql数据库。
在学习android连接Mysql 数据库前,复习一下java如何通过jdbc连接Mysql:
jdbc程序开发的六个步骤:
1、注册驱动程序
注册驱动程序有三种方式:
方式一:
java规范中明确规定:所有的驱动程序必须在静态初始化代码块中将驱动注册到驱动程序管理器中。
方式二:
方式三:编译时在虚拟机中加载驱动
2、建立数据库连接对象(Connection)
方式一:
方式二:
3、创建statement对象
4、发送sql语句
5、如果有结果集,处理结果集(ResultSet)
6、关闭相应的流资源
那么开始在android中开始通过Jdbc连接Mysql数据库吧
public void onClickQuery(View view)
{
//在android中操作数据库最好在子线程中执行,否则可能会报异常
new Thread()
{
public void run() {
try {
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://10.0.2.2:3306/gjun";
Connection conn = DriverManager.getConnection(url, "root", "gavin");
Statement stmt = conn.createStatement();
String sql = "select * from t_user";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
Log.v("yzy", "field1-->"+rs.getString(1)+" field2-->"+rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
Log.v("yzy", "success to connect!");
}catch(ClassNotFoundException e)
{
Log.v("yzy", "fail to connect!"+" "+e.getMessage());
} catch (SQLException e)
{
Log.v("yzy", "fail to connect!"+" "+e.getMessage());
}
};
}.start();
}
注意,这个是在模拟器上运行的,如果在真机上运行,那么IP地址就需要换成真实Ip地址,在虚拟机中,10.0.2.2指的就是电脑的Ip 地址
运行中注意:
1、关闭防火墙
2、在配置文件中加入网络访问权限android.permission.INTERNET ,不然一直失败
3、mysql数据库运行远程用户访问(如何设置请到网上查)