您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Android-客户端开发流程图及案例
Android客户端开发流程1项目流程图Android系统架构Android开发环境搭建准备Andrioid开发环境搭建模拟器AVDAndroid开发流程Android程序调试安装JAVASEJDK配置JAVA环境变量安装AndroidSDK+Eclipse在Eclipse中安装ADT,在Eclipse中配置DKAVD创建和配置测试未通过通过创建JAVA工程编写JAVA将动态链接库复制到JAVA工程,运行JAVA程序编译调试单元测试开发项目计划模拟器运行开发项目需求调研分析项目开始AAAA项目需求分析阶段设计实施阶段集成、功能、系统测试AA项目测试阶段结束未通过项目审核通过产品验收无法满足功能项项目产品设计AA项目设计阶段AA项目验收阶段新软件调优、新机型适配支持通过未通过通过未通过2项目阶段描述2.1项目需求分析阶段描述输入:《项目产品开发计划书》《总体方案书》输出:《项目产品需求规格说明书》《产品测试计划及裁减说明书》2.2项目设计施阶段输入:《项目产品需求规格说明书》《产品测试计划及裁减说明书》输出:《产品概要设计说明书》《系统测试方案》《集成测试方案》2.3项目实施阶段输入:《项目产品需求规格说明书》《产品概要设计说明书》待更新的《系统测试方案》待更新的《集成测试方案》输出:《产品详细设计说明书》更新的《系统测试方案》更新的《集成测试方案》2.4项目测试阶段输入:《项目产品需求规格说明书》《产品详细设计说明书》《系统测试方案》《集成测试方案》《产品单元测试记录》输出:《系统测试缺陷记录》《产品单元测试报告》《集成测试报告》《系统测试报告》2.5项目验收阶段输入:《项目产品需求规格说明书》《产品详细设计说明书》《系统测试缺陷记录》《产品单元测试报告》《集成测试报告》《系统测试报告》输出:《项目总结报告》《项目中无法满足功能项说明书》《维护方案》本文介绍了如何使用Android搭建客户端,实现手机和服务器的交互。让我们了解如何采用SSH框架,把服务器端的信息用JSON的形式发送到手机端。AD:笔者以前是学的JavaEE,由于项目需要要开发Android,所以临时补了一个多星期,主要是手机端和服务器端交互,双向开发的。首先在服务器端,我采用的是SSH框架,struts2集合了JSON插件,服务器和客户端的信息交互采用的JSON来传输,由于在服务器端用了Struts2,所以我就用装了一个JSON插件。这样,很轻易的就把服务器端的信息用JSON的形式发送到了手机端。以下是代码:首先,在服务器端搭建好SSH框架,具体细节就不在陈述。struts.xml配置如下:1.packagename=loginextends=json-default2.actionname=loginclass=com.jclick.test.LoginActionmethod=login3.resulttype=jsonparamname=includePropertiesresult/param/result4./action5./package6.7.packagename=loginextends=json-default8.actionname=loginclass=com.jclick.test.LoginActionmethod=login9.resulttype=jsonparamname=includePropertiesresult/param/result10./action11./package手机端的代码如下:首先,手机端有一个缓存类,主要用于缓存一些手机端需要访问的数据,这样的好处是可以达达节省手机和服务器的交互,用单例实现的: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.http.client.methods.HttpPost;13.importorg.apache.http.impl.client.DefaultHttpClient;14.importorg.apache.http.message.BasicNameValuePair;15.importorg.json.JSONException;16.importorg.json.JSONObject;17.18.publicclassBaseProtocol{19.privateStringBuildersb=newStringBuilder();20.21.privateHttpClienthttpClient;22.privateHttpPosthttpRequest;23.privateHttpResponseresponse;24.25.privateListNameValuePairnameValuePair=newArrayListNameValuePair();26.27.BaseProtocol(){28.httpClient=newDefaultHttpClient();29.}30.31./**32.*向服务器端发送请求33.*34.*@paramurl35.*@throwsException36.*/37.protectedvoidpack(Stringurl)throwsException{38.httpClient=newDefaultHttpClient();39.httpRequest=newHttpPost(url);40.41.httpRequest.setEntity(newUrlEncodedFormEntity(nameValuePair));42.response=httpClient.execute(httpRequest);43.}44.45./**46.*得到返回数据47.*48.*@paramurl49.*@return50.*@throwsException51.*/52.protectedvoidparse()throwsException{53.//TODO状态处理50020054.if(response.getStatusLine().getStatusCode()==200){55.56.BufferedReaderbufferedReader2=newBufferedReader(57.newInputStreamReader(response.getEntity().getContent()));58.for(Strings=bufferedReader2.readLine();s!=null;s=bufferedReader259..readLine()){60.sb.append(s);61.}62.}63.}64.65./**66.*向服务器发送信息67.*68.*@paramkey69.*@paramvalue70.*/71.publicvoidaddNameValuePair(Stringkey,Stringvalue){72.nameValuePair.add(newBasicNameValuePair(key,value));73.}74.75./**76.*返回JSONObject对象数据模型77.*78.*@return79.*@throwsJSONException80.*/81.publicJSONObjectgetJSON()throwsJSONException{82.returnnewJSONObject(sb.toString());83.}84.85.}86.87.packagecom.jclick.protocol;88.89.importjava.io.BufferedReader;90.importjava.io.InputStreamReader;91.importjava.util.ArrayList;92.importjava.util.List;93.94.importorg.apache.http.HttpResponse;95.importorg.apache.http.NameValuePair;96.importorg.apache.http.client.HttpClient;97.importorg.apache.http.client.entity.UrlEncodedFormEntity;98.importorg.apache.http.client.methods.HttpPost;99.importorg.apache.http.impl.client.DefaultHttpClient;100.importorg.apache.http.message.BasicNameValuePair;101.importorg.json.JSONException;102.importorg.json.JSONObject;103.104.publicclassBaseProtocol{105.privateStringBuildersb=newStringBuilder();106.107.privateHttpClienthttpClient;108.privateHttpPosthttpRequest;109.private
本文标题:Android-客户端开发流程图及案例
链接地址:https://www.777doc.com/doc-5387341 .html