图 9 注册 Fig 9 regist
6. 后台数据处理端设计
6.1. 工程结构分析
后台的工程结果如图8:
图 10 后台工程结构图 Fig 10 daemon project structure
6.2. 与后台数据库交互
后台web端 由java 编写,数据库链接采用的JDBC的方式,JDBC(Java Data
25
Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。所有与数据库相关的操作都在dao包下面。
用jdbc 获取数据库链接方法: public Connection getConnection(){
if(myConnection == null){
try {
Class.forName(\
String uri = \
myConnection = DriverManager.getConnection(uri, \
\
}
}
return myConnection;
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) { }
e.printStackTrace();
第一步,加载链接驱动,链接驱动就是一个java类,由数据库方提供。 第二步,获取链接,通过链接url 和 数据库登录的用户名和密码调用DriverManager.getConnection(uri, \获得。
6.3. 与android 客户端数据交互
与android 客户端数据交互主要用了servlet 和 json 技术,servlet 是在服务器上运行的小程序。这个词是在Java applet的环境中创造的,Java applet是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。Android 客户端 同httpclite 访问后台的servlet,在servlet中的dopost 或者doget 方法中调用dao层获取数据库数据然后用阿里巴巴的fastjson框架将数据转换为json 字符串写入到HttpServletResponse 中 PrintWriter 流中。如客户端登录通过访问LoginServlet,
26
调用dopost 方法,方法的具体实现如下:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) }
服务端接受到请求,统一编码,获取由android 客户端输入的用户名和密码调用dao层userInfoDB.loginSuccess(uname, pwd)验证用户名和密码是否与数据库匹配,匹配错误就在PrintWriter 输入-1,同时android 客户端判断从后台取到的字符串并进行相应的判断,如果匹配正确则调用userInfoDB.getUserInfoData() 获取此用户相关信息。
throws ServletException, IOException {
resp.setContentType(\resp.setCharacterEncoding(\req.setCharacterEncoding(\PrintWriter out = resp.getWriter();
String uname = req.getParameter(\String pwd = req.getParameter(\UserInfoDB userInfoDB = new UserInfoDB(); UserInfoData userInfoData = new UserInfoData(); int uid = userInfoDB.loginSuccess(uname, pwd); if(uid == -1)
out.print(\
else{ }
userInfoData = userInfoDB.getUserInfoData(); String jStr = JSON.toJSONString(userInfoData); out.print(jStr);
7. 总结
通过对android系统的几大层的分析以及android 的几大组件的了解和掌握增进了对于android应用开发的熟悉和整个android架构的了解。
经过几个月对本系统的设计与编码,我学到了很多知识。在开始设计之前我对此无从下手,然后通过几周的时间的对系统所要的技术学习和老师的耐心指导,开始对此有了一些模糊的概念,随着设计一步步继续,逐渐对android开发
27
了解,而且越做越有兴趣。现在对本系统制作的过程和它所用到的技术的应用已很熟悉。
其实此应用的设计与实现的难度并不大,但是我们却为此付出了很多时间和精力是因为我们的能力还亟待加强,所以在以后的时间里要进一步的深入学习和了解,做出更好更完善的应用。
参考文献
[1] 林信良. JSP & Servlet学习笔记[M]. 北京:清华大学出版社, 2012(4):200-210 [2] 李刚.疯狂Android讲义(第二版)[M].北京:电子工业出版社.2013(3):120-130 [3] 刘京华.Java Web整合开发王者归来[M].北京:清华大学出版社, 2010(8)
[4] 赵俊峰.Java Web应用开发案例教程:基于MVC模式的JSP+Servlet+JDBC和AJAX[M].北京:清华大学出版社, 2012(3)
[5] Rachit Mohan Garg, YaminiSood, Balaji Kottana, Pallavi Totlani. A Framework Based Approach for the Development of Web Based Applications Waknaghat[J].Jaypee University of Information Technology,2011(5)
[6] Zoya Ali. Designing Object Oriented Software Applications within the Context of Software Frameworks[D]. Ohio State University,2011(8) [7] 张仕成.Android内核剖析[M].北京:电子工业出版社,2011(12)
[8] 高兰兰.基于Android平台的多分辨率解决方案[M].北京:电子工业出版社,2011(10) [9] 杨丰盛.基于Android技术内幕:系统卷[M].北京:机械工业出版社,2011(6) [10] 林信良.Java学习笔记[M].北京:清华大学出版社,2012(9)
[11] 杨云君.Android的设计与实现[M].北京:机械工业出版社,2013(2):230-235 [12] 田俊静,张波,黄湘情.Android基础教程(第3版)[M] .北京:人民邮电出版社,2010(6) [13] 韩超,梁泉.Android系统原理及开发要点详解[M].北京:电子工业出版社,2011(9) [14] 李佐彬.Android开发入门与实战体验[M].北京:机械工业出版社,2012(7) [15] 邓凡平.深入理解Android(卷1)[M]. 北京:机械工业出版,2012(6) [16] 陈明.软件工程导论[M].北京:清华大学出版社,2011(9)
28
相关推荐: