Android 客户端开发流程
1 项目流程图
2 项目阶段描述
2.1 项目需求分析阶段描述
输入:
《项目产品开发计划书》
《总体方案书》
输出:
《项目产品需求规格说明书》
《产品测试计划及裁减说明书》
2.2 项目设计施阶段
输入:
《项目产品需求规格说明书》
《产品测试计划及裁减说明书》
输出:
《产品概要设计说明书》
《系统测试方案》
《集成测试方案》
2.3 项目实施阶段
输入:
《项目产品需求规格说明书》
《产品概要设计说明书》
待更新的《系统测试方案》
待更新的《集成测试方案》
输出:
《产品详细设计说明书》
更新的《系统测试方案》
更新的《集成测试方案》
2.4 项目测试阶段
输入:
《项目产品需求规格说明书》
《产品详细设计说明书》
《系统测试方案》
《集成测试方案》
《产品单元测试记录》
输出:
《系统测试缺陷记录》
《产品单元测试报告》
《集成测试报告》
《系统测试报告》
2.5 项目验收阶段
输入:
《项目产品需求规格说明书》
《产品详细设计说明书》
《系统测试缺陷记录》
《产品单元测试报告》
《集成测试报告》
《系统测试报告》
输出:
《项目总结报告》
《项目中无法满足功能项说明书》
《维护方案》
本文介绍了如何使用Android搭建客户端,实现手机和服务器的交互。让我们了解如何采用SSH框架,把服务器端的信息用JSON的形式发送到手机端。
AD:
笔者以前是学的Java EE,由于项目需要要开发Android,所以临时补了一个多星期,主要是手机端和服务器端交互,双向开发的。
首先在服务器端,我采用的是SSH框架,struts 2集合了JSON插件,服务器和客户端的信息交互采用的JSON来传输,由于在服务器端用了Struts 2,所以我就用装了一个JSON插件。这样,很轻易的就把服务器端的信息用JSON的形式发送到了手机端。以下是代码:
首先,在服务器端搭建好SSH框架,具体细节就不在陈述。struts.xml配置如下:
1.
2.
3. result
4.
5.
6.
7.
8.
9. result
10.
11.
手机端的代码如下:
首先,手机端有一个缓存类,主要用于缓存一些手机端需要访问的数据,这样的好处是可以达达节省手机和服务器的交互,用单例实现的:
1. packagecom.jclick.cache;
2.
3. importcom.jclick.bean.User;
4.
5. publicclassCache{
6.
7. privateUserUser;
8.
9. privateCache(){
10.
11. }
12. /**构造单例*/
13. privatestaticclassCacheHolder{
14. privatestaticfinalCacheINSTANCE=newCache();
15. }
16. publicCachegetInstance(){
17. returnCacheHolder.INSTANCE;
18. }
19. publicUsergetUser(){
20. returnUser;
21. }
22. publicvoidsetUser(UserUser){
23. this.User=User;
24. }
25.
26. }
27.
28. packagecom.jclick.cache;
29.
30. importcom.jclick.bean.User;
31.
32. publicclassCache{
33.
34. privateUserUser;
35.
36. privateCache(){
37.
38. }
39. /**构造单例*/
40. privatestaticclassCacheHolder{
41. privatestaticfinalCacheINSTANCE=newCache();
42. }
43. publicCachegetInstance(){
44. returnCacheHolder.INSTANCE;
45. }
46. publicUsergetUser(){
47. returnUser;
48. }
49. publicvoidsetUser(UserUser){
50. this.User=User;
51. }
52.
53. }
接着开始书写手机端的协议,用户向服务器发送请求,同时服务器反馈给手机端信息的:
1. packagecom.jclick.protocol;
2.
3. importjava.io.BufferedReader;
4. importjava.io.InputStreamReader;
5. importjava.util.ArrayList;
6. importjava.util.List;
7.
8. importorg.apache.http.HttpResponse;
9. importorg.apache.http.NameValuePair;
10. importorg.apache.http.client.HttpClient;
11. importorg.apache.http.client.entity.UrlEncodedFormEntity;
12. importorg.apache.h