Android客户端开发流程图及案例Word下载.docx
- 文档编号:15138256
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:16
- 大小:76.61KB
Android客户端开发流程图及案例Word下载.docx
《Android客户端开发流程图及案例Word下载.docx》由会员分享,可在线阅读,更多相关《Android客户端开发流程图及案例Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
《产品单元测试记录》
《系统测试缺陷记录》
《产品单元测试报告》
《集成测试报告》
《系统测试报告》
2.5项目验收阶段
《项目总结报告》
《项目中无法满足功能项说明书》
《维护方案》
本文介绍了如何使用Android搭建客户端,实现手机和服务器的交互。
让我们了解如何采用SSH框架,把服务器端的信息用JSON的形式发送到手机端。
AD:
笔者以前是学的JavaEE,由于项目需要要开发Android,所以临时补了一个多星期,主要是手机端和服务器端交互,双向开发的。
首先在服务器端,我采用的是SSH框架,struts2集合了JSON插件,服务器和客户端的信息交互采用的JSON来传输,由于在服务器端用了Struts2,所以我就用装了一个JSON插件。
这样,很轻易的就把服务器端的信息用JSON的形式发送到了手机端。
以下是代码:
首先,在服务器端搭建好SSH框架,具体细节就不在陈述。
struts.xml配置如下:
1.<
packagename="
login"
extends="
json-default"
>
2.<
actionname="
class="
com.jclick.test.LoginAction"
method="
3.<
resulttype="
json"
<
paramname="
includeProperties"
result<
/param>
/result>
4.<
/action>
5.<
/package>
6.
7.
8.
9.
10.
11.
手机端的代码如下:
首先,手机端有一个缓存类,主要用于缓存一些手机端需要访问的数据,这样的好处是可以达达节省手机和服务器的交互,用单例实现的:
1.packagecom.jclick.cache;
2.
3.importcom.jclick.bean.User;
4.
5.publicclassCache{
7.privateUserUser;
9.privateCache(){
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;
3.importjava.io.BufferedReader;
4.importjava.io.InputStreamReader;
5.importjava.util.ArrayList;
6.importjava.util.List;
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.privateList<
NameValuePair>
nameValuePair=newArrayList<
();
26.
27.BaseProtocol(){
28.httpClient=newDefaultHttpClient();
29.}
30.
31./**
32.*向服务器端发送请求
33.*
34.*@paramurl
35.*@throwsException
36.*/
37.protectedvoidpack(Stringurl)throwsException{
38.httpClient=newDefaultHttpClient();
39.httpRequest=newHttpPost(url);
41.httpRequest.setEntity(newUrlEncodedFormEntity(nameValuePair));
42.response=httpClient.execute(httpRequest);
43.}
45./**
46.*得到返回数据
47.*
48.*@paramurl
49.*@return
50.*@throwsException
51.*/
52.protectedvoidparse()throwsException{
53.//TODO状态处理500200
54.if(response.getStatusLine().getStatusCode()==200){
55.
56.BufferedReaderbufferedReader2=newBufferedReader(
57.newInputStreamReader(response.getEntity().getContent()));
58.for(Strings=bufferedReader2.readLine();
s!
=null;
s=bufferedReader2
59..readLine()){
60.sb.append(s);
61.}
62.}
63.}
64.
65./**
66.*向服务器发送信息
67.*
68.*@paramkey
69.*@paramvalue
70.*/
71.publicvoidaddNameValuePair(Stringkey,Stringvalue){
72.nameValuePair.add(newBasicNameValuePair(key,value));
73.}
74.
75./**
76.*返回JSONObject对象数据模型
77.*
78.*@return
79.*@throwsJSONException
80.*/
81.publicJSONObjectgetJSON()throwsJSONException{
82.returnnewJSONObject(sb.toString());
83.}
84.
85.}
86.
87.packagecom.jclick.pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 客户端 开发 流程图 案例