版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android移动应用设计与开发第11章综合案例讲解11.1客户端11.1.1代码结构11.1.2功能模块11.2效劳端11.2.1总体介绍11.2.2数据解析和控制流程
本章导读11.1客户端
客户端从MVC设计模式的角度去分析有三个局部:视图、控制器和模块。其中界面视图包含了Activity和一些View模块,用于展示信息给用户;模块局部对应到上图的网络模块和数据模块,各个模块能提供不同的功能被其他局部调用;控制器对应到上图的MsgService局部,控制着整个客户端消息的处理、数据的存储和界面的刷新。11.1.1代码结构√用户界面以Activity为核心,包括根底〔controller包〕、启动〔loginsignin包〕中的类√数据库局部包括数据库操作类〔DatabaseHelper.java〕、数据表〔table包〕及数据共享〔contentprovider包〕。√网络局部包括了模块〔mode包〕、请求类〔Request.java〕及网络连接类〔HttpClient.java〕,模块中包括了针对不同请求类型返回数据的解析类,可以实现对返回数据的解析√其他一些包,如配置〔application包〕、效劳〔service包〕、工具〔utils包〕等实现辅助功能11.1.1代码结构由事件驱动的任务处理机制具体的步骤:〔1〕捕获到事件后确定是何种请求〔有请求话题、请求私信和添加好友等〕;〔2〕封装具体的请求参数,根据请求的类型填写相应的参数;〔3〕将参数传送到所在Activity的AysncTask中进行处理,进行网络的判断和数据的请求等;〔4〕假设请求成功,就需要调用数据模块的解析方法以解析响应的JSON格式的数据;〔5〕假设上述请求失败了〔本案例的失败包括整个过程的所有失败,比方网络未连接和数据解析失败等〕,跳到该步骤执行通知用户请求失败;假设请求成功,这通知用户刷新界面。11.1.1代码结构以定时器驱动的任务机制以定时器驱动的任务机制具体步骤:〔1〕与事件驱动不一样的是,这里采用定时器定时启动网络访问;〔2〕数据的封装与事件驱动的一样;〔3〕在Service中启动新的线程来处理网络连接请求;〔4〕数据的解析和数据的储存与事件驱动处理中的步骤一样;〔5〕界面视图的更新〔包含请求失败和请求成功〕,由于任务的操作在Service中,Service中没有涉及界面更新的方法,所以通过Handler和实现了MsgRefresh接口的Activity来完成界面刷新功能。11.1.2功能模块
A、启动B、注册11.1.2功能模块C、登陆D、注销11.1.2功能模块E、话题进入话题列表界面〔BoradcastActivity.java〕时首先访问本地数据库,检查是否存在话题信息,假设不存在话题信息,那么利用异步任务〔AysncTask〕机制——请求话题类ReadTask向效劳器发送话题信息请求,获取所有话题信息数据,将数据进行解析,保存到数据库,再执行界面刷新,将每条话题记录的信息显示。F、好友进入好友界面时,首先访问本地数据库中是否存在,假设不存在那么通过异步机制〔AsyncTask〕向效劳端请求数据。G、私信采用Android提供的异步任务来执行任务,包括私信的请求、回复等。具体的流程图参考上一节中的登陆、注册等流程,他们的控制过程大同小异,不同的只是输入输出的数据不一样而已,不影响对任务处理过程的理解。11.1.2功能模块H、用户资料查看个人资料或者是其他用户资料时都是用该ProfileActivity做显示和操作,当要查看某个用户的资料时,首先在好友表中查询是否存在该用户的信息,如果不存在那么通过网络向效劳端请求,在请求的参数中放入该用户的ID〔UID〕,然后通过异步任务〔AsyncTask〕来请求用户的资料。具体的流程图参考上一节中的登陆、注册等流程,他们的控制过程大同小异,不同的只是输入输出的数据不一样而已,不影响对任务处理过程的理解。I、消息更新机制为了保证大案例中各个模块能实时接收到效劳端变化的数据,比方好友发表了新话题、有新的私信等,本大案例中采用轮询的机制每隔一段时间自动访问效劳器,读取效劳器端的话题、好友和私信表,查询是否这些表中出现了新的值,假设是出现了那么返回这些数据。J、其他内容如:用户登录数据的存储;播送接收者;软件的更新功能11.2效劳端11.2.1总体介绍该案例采用的效劳器是Tomcat6.5,代码是用Java语言来编写的,数据库使用Mysql。11.2效劳端11.2.2数据解析和控制流程在整个过程中,用户发来的数据和返回的数据都是JSON格式的,整个过程主要分以下几步:〔1〕接收请求的参数,并分析参数,也就是解析JSON格式里面的内容;〔2〕通过获得的用户ID〔UID〕和密码〔password〕去认证用户是否合法,当然如果是注册的话就跳开该步骤;〔3〕通过获得的请求类型〔requestType〕将任务分发到相应的类中,比方添加好友,此时就调到AddFriends中执行;〔
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 超高性能混凝土技术研发购销合同
- 宣传印刷购销合同
- 个人抵押借款合同样本
- 个人房屋买卖合同税费解析
- 合同法24条规定
- 2024年加气柱项目立项申请报告范文
- 旅游管理实习报告范文3000字(3篇)
- 逝去亲人悼词范文(3篇)
- 广东省湛江市2023-2024学年高一上学期第三次月考 数学试题含答案
- 有关毕业生工厂实习总结15篇
- 单位职工独生子女父母一次性退休补贴申请表
- 国有集团公司中层及员工履职追责问责处理办法模版
- 管理学-第6章-组织设计
- 2020医用氧药典标准
- 七年级生物作业设计
- 食堂员工规章制度
- 复杂性肛瘘的治疗进展
- 分布式光伏电站培训课件2023
- 微信朋友圈广告方案
- 设备操作三好、四会、四要求、五原则和三不放过
- 邮轮面试英语PPT完整全套教学课件
评论
0/150
提交评论