android与mysql数据库同步_android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?...

这篇博客介绍了如何通过web服务器将MySQL数据库的数据同步到Android应用中的SQLite数据库。首先在Myeclipse中创建web工程,配置web.xml,然后建立DBConfig.properties文件存储数据库连接信息。接着编写DBUtil.java工具类进行数据库连接与关闭,创建Menu.java实体类,并在Update类中实现从MySQL读取数据并更新SQLite的功能。最后启动服务器并验证数据同步效果。
摘要由CSDN通过智能技术生成

通过web服务器访问MYSQL数据库有以下几个过程:

1、在MySql下创建自己的数据库和自己的表单

2、连接数据库。

3、访问数据库

1、创建web工程 (服务器端)

在Myeclipse下新建一个web项目,为了好统一管理在WEB-INF下建一个web.xml用来加载服务器启动时的配置信息。这个文件是由大量的与组成,这里只做讲解,

web.xml实例如下:

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

5 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

6

7

8 LoginServlet

9 com.amaker.servlet.LoginServlet

10

11

12

13 UpdateMenuServlet

14 /servlet/UpdateMenuServlet

15

2、为了方便对数据库验证信息的统一管理,在src目录下建一个DBConfig.properties文件。包含内容有:连接mysql数据库的驱动、url、用户名和密码。

1 driver=com.mysql.jdbc.Driver2 url=jdbc:mysql://localhost:3306/wirelessorder_db?useUnicode=true&characterEncoding=utf-8

3 username=rootpassword=123

3、连接数据库

a、可以先在src目录下建一个工具类DBUtil.java用于连接和关闭数据库。具体代码如下。

1 packagecom.amaker.util;2

3 importjava.sql.Connection;4 importjava.sql.DriverManager;5 importjava.sql.SQLException;6 importjava.util.Properties;7

8 /**

9 *10 *@authorBlackhorseMary11 */

12 public classDBUtil {13

14 /*

15 * 关闭数据库连接16 */

17 public voidcloseConn(Connection conn){18 try{19 conn.close();20 } catch(SQLException e) {21 e.printStackTrace();22 }23 }24

25 /*

26 * 打开数据库连接27 */

28 publicConnection openConnection() {29 Properties prop = newProperties();30 String driver = null;31 String url = null;32 String username = null;33 String password = null;34

35 try{36 prop.load(this.getClass().getClassLoader().getResourceAsStream(37 "DBConfig.properties"));38

39 driver = prop.getProperty("driver");40 url = prop.getProperty("url");41 username = prop.getProperty("username");42 password = prop.getProperty("password");43

44 Class.forName(driver);45 returnDriverManager.getConnection(url, username, password);46 } catch(Exception e) {47 e.printStackTrace();48 }49

50 return null;51 }52

53 }

b、再在src目录下新建一个Menu.java,用于设置获取其属性。

1 packagecom.amaker.entity;2

3 public classMenu {4 private intid;5 private intprice;6 private inttypeId;7 privateString name;8 privateString pic;9 privateString remark;10

11 public intgetId() {12 returnid;13 }14 public void setId(intid) {15 this.id =id;16 }17 publicString getName() {18 returnname;19 }20 public voidsetName(String name) {21 this.name =name;22 }23 publicString getPic() {24 returnpic;25 }26 public voidsetPic(String pic) {27 this.pic =pic;28 }29 public intgetPrice() {30 returnprice;31 }32 public void setPrice(intprice) {33 this.price =price;34 }35 publicString getRemark() {36 returnremark;37 }38 public voidsetRemark(String remark) {39 this.remark =remark;40 }41 public intgetTypeId() {42 returntypeId;43 }44 public void setTypeId(inttypeId) {45 this.typeId =typeId;46 }47

48 }

1 /**

2 *@authorBlackhorseMary3 * 完成更新SQLite数据功能4 */

5 public classUpdate {6 //获得菜单列表

7 public List

9 String sql =" select id,typeId,price,name,pic,remark from MenuTbl ";10 //数据库连接工具类

11 DBUtil util = newDBUtil();12 //获得连接

13 Connection conn =util.openConnection();14 try{15 //获得预定义语句

16 Statement pstmt =conn.createStatement();17 //执行查询

18 ResultSet rs =pstmt.executeQuery(sql);19 //判断订单详细

20 List

23

24 int id = rs.getInt(1);25 int typeId = rs.getInt(2);26 int price = rs.getInt(3);27 String name = rs.getString(4);28 String pic = rs.getString(5);29 String remark = rs.getString(6);30

31 Menu m = newMenu();32 m.setId(id);33 m.setName(name);34 m.setPic(pic);35 m.setPrice(price);36 m.setRemark(remark);37 m.setTypeId(typeId);38

39 list.add(m);40 }41 returnlist;42 } catch(SQLException e) {43 e.printStackTrace();44 } finally{45 util.closeConn(conn);46 }47 return null;48 }49

50 }

4、在src下建一个update.java类用于执行同步,即更新android SQLites数据库中的数据(前提是SQLite数据库里面有对应的Menu表)。

5、启动服务器,在浏览器中输入相应URL地址,可以把相应的SQLITE数据库导出来,用SQLITE数据库工具,查看数据库中Menu表的结果。

至此,大功告成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值