- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
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格式里面的内容
文档评论(0)