版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文介绍了如何使用AndroidSSHJSONAD:笔者以前是学的Java EE,由于工程需要要开发Android,所以临时补了一个多星期,主要是手机端和效劳器端交互,双向开发的。首先在效劳器端,我承受的是SSHstruts2 集合了JSON的信息交互承受的JSON 来传输,由于在效劳器端用了Struts 2,所以我就用装了一个JSON插件。这样,很轻易的就把效劳器端的信息用JSON 的形式发送到了手机端。以下是代码:首先,在效劳器端搭建好SSH 框架,具体细节就不在陈述。struts.xml 配置如下:sult6.gin“result手机端的代码如下:可以达达节约手机和效劳器的交互,用单例实
2、现的:1. packagecom.jclick.cache;2.3. importcom.jclick.bean.User;4.5. publicclassCache6.7. privateUserUser;8.9. privateCache10.11. 12. /*构造单例*/privatestaticclassCacheHolderprivatestaticfinalCacheINSTANCE=newCache;15. publicCachegetInstancereturnCacheHolder.INSTANCE;18. publicUsergetUserreturnUser;21. p
3、ublicvoidsetUser(UserUser)this.User=User;24. 25.26. 27.28. packagecom.jclick.cache;29.30. importcom.jclick.bean.User;31.32. publicclassCache9./*构造单例*/privatestaticclassCacheHolderprivatestaticfinalCacheINSTANCE=newCache;42.publicCachegetInstancereturnCacheHolder.INSTANCE;45.public
4、UsergetUserreturnUser;48.publicvoidsetUser(UserUser)this.User=User;51.52.53. 接着开头书写手机端的协议1. tocol;2.importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.util.ArrayList;7.importorg.apache. . Response;importorg.apache. .NameValuePair;importorg.apache. .client. C
5、lient;importorg.apache. .client.entity.UrlEncodedFormEntity;importorg.apache. .client.methods. Post;importorg.apache. .impl.client.Default Client;importorg.apache. .message.BasicNameValuePair;importorg.json.JSONException;17.publicclassBaseProtocol20.private Client Client;private Post Request;24.25.p
6、rivateListnameValuePair=newArrayList();26.BaseProtocol Client=newDefault Client;29. 30.31. /*32. *向效劳器端发送恳求33. *paramurl*throwsException36. */protectedvoidpack(Stringurl)throwsException Client=newDefault Client;40. Request.setEntity(newUrlEncodedFormEntity(nameValuePair);response= Client.execute( Re
7、quest);43. 44.45. /*46. *得到返回数据47. *paramurl*return*throwsException51. */protectedvoidparsethrowsException55.BufferedReaderbufferedReader2=newBufferedReader(newInputStreamReader(response.getEntity.getContent);for(Strings=bufferedReader2.readLine;s!=null;s=bufferedReader2.readLine)sb.append(s);61. 62
8、. 63. 64.65. /*66. *向效劳器发送信息67. *paramkey*paramvalue70. */publicvoidaddNameValuePair(Stringkey,Stringvalue)nameValuePair.add(newBasicNameValuePair(key,value);73. 74.75. /*. 对象数据模型77. *return*throwsJSONException80. */publicJSONObjectgetJSONthrowsJSONExceptionreturnnewJSONObject(sb.toString);83. 84.85
9、. 86.87. tocol;88.importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.util.ArrayList;93.importorg.apache. . Response;importorg.apache. .NameValuePair;importorg.apache. .client. Client;importorg.apache. .client.entity.UrlEncodedFormEntity;importorg.apache. .cl
10、ient.methods. Post;importorg.apache. .impl.client.Default Client;importorg.apache. .message.BasicNameValuePair;importorg.json.JSONException;103.publicclassBaseProtocol106.private Client Client;private Post Request;110.111.ir;112.BaseProtocol Client=newDefault Client;115.116.117./*118.*向效劳器端发送恳求119.*
11、paramurl*throwsException122.*/protectedvoidpack(Stringurl)throwsException Client=newDefault Client;126. Request.setEntity(newUrlEncodedFormEntity(nameValuePair);response= Client.execute( Request);129.130.131./*132.*得到返回数据133.*paramurl*return*throwsException137.*/protectedvoidparsethrowsException141.
12、BufferedReaderbufferedReader2=newBufferedReader(tent);dReader2.readLine)sb.append(s);50.151./*152.*向效劳器发送信息153.*paramkey*paramvalue156.*/publicvoidaddNameValuePair(Stringkey,Stringvalue)nameValuePair.add(newBasicNameValuePair(key,value);159.160.161./*162.对象数据模型163.*return*throwsJSONExce
13、ption166.*/publicJSONObjectgetJSONthrowsJSONExceptionreturnnewJSONObject(sb.toString);169.170.接着是登陆协议,在这里我只是模拟登陆使用的一个类,仅供大家参考:1. tocol;2.3. importorg.json.JSONObject;4.5. importcom.jclick.bean.User;6.7. publicclassLoginProtocolextendsBaseProtocol8.9. privatefinalstaticStringURL=
14、“ :/localhost:8080/test/login“;10.publicbooleancheckLogin(Userusr)trypack(URL);parse;JSONObjectobj=this.getJSON;if(obj.getString(“result“).equals(“failed“)returnfalse;elsereturntrue;20. catch(Exceptione)e.printStackTrace;returnfalse;24. 25. 26.27. 28.29. tocol;30.31. importorg.j
15、son.JSONObject;32.33. importcom.jclick.bean.User;34.35. publicclassLoginProtocolextendsBaseProtocol36.37.privatefinalstaticStringURL=“ :/localhost:8080/test/login“;38.publicbooleancheckLogin(Userusr)trypack(URL);parse;JSONObjectobj=this.getJSON;if(obj.getString(“result“).equals(“failed“)returnfalse;
16、elsereturntrue;48.catch(Exceptione)e.printStackTrace;returnfalse;5. 然后是User 实体类,主要用于保存用户信息:1. packagecom.jclick.bean;2.publicclassUserprivateStringusername;privateStringpassword;publicStringgetUsername8. publicvoidsetUsername(Stringusername)this.username=username;11. publicStringgetPasswor
17、dreturnpassword;14. publicvoidsetPassword(Stringpassword)this.password=password;17. 18.19. 20.21. packagecom.jclick.bean;22.publicclassUserprivateStringusername;privateStringpassword;publicStringgetUsernamereturnusername;28.publicvoidsetUsername(Stringusername)this.username=username;31.publicStringg
18、etPasswordreturnpassword;34.publicvoidsetPassword(Stringpassword)this.password=password;37.38.39. 最终就是LoginActivity登陆的代码:privatevoidcheckedDatausername=(EditText)findViewById(R.id.username).getText.toString();password=(EditText)findViewById(R.id.password).getText.toString();4.Useruser=newUser;user.setUsername(username);user.setPassword(password);LoginProtocollogin=newLoginProtocol;10.if(result)SpiderCache.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- N-β-D-Glucopyranosyloctanamide-生命科学试剂-MCE
- Nortriptyline-hydrochloride-Standard-生命科学试剂-MCE
- N-N-Dimethyl-2-methylthio-aniline-d3-生命科学试剂-MCE
- 网站改版方案
- 电子cad课课程设计
- 消防安全“明白人”竞赛考试题库(含答案)
- 网站建设硬件设计方案
- 2024年职业技能竞赛市政工程试验员理论考试题库(含答案)
- 部编版小学语文四年级评价方案
- 野炊活动方案
- 苍蝇小子课件
- 文华财经“麦语言”函数手册
- (完整版)俄语动词命令式的构成及用法
- (完整)痔疮手术知情同意书
- 建筑工地的消防风险分析
- 写作与沟通智慧树知到课后章节答案2023年下杭州师范大学
- 农村原民办代课教师教龄补助申请表
- 四川省凉山州西昌市2024届九年级物理第一学期期中检测试题含解析
- 江苏开放大学2023年秋《公共关系原理与实务050010》过程性考核作业一参考答案
- 学校消防安全培训课件(ppt37张)
- 广联达BIM土建计量平台GTJ2021使用手册
评论
0/150
提交评论