Android移动应用设计与开发--第11章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * Android 移动应用设计与开发 11.1 客户端 11.1.1 代码结构 11.1.2 功能模块 11.2 服务端 11.2.1 服务端功能结构 11.2.2 数据解析和控制流程 11.3 测试环境搭建 11.3.1 服务端测试环境搭建 11.3.2 Android Studio发布客户端工程 图11.1 项目框架图 11.1 客户端 图11.1是整个综合案例的代码结构图,分为客户端和服务端。客户端从MVC设计模式的角度去分析有三个部分:视图、控制器和模块。其中界面视图包含了Activity和一些View模块,用于展示信息给用户;模块部分对应到上图的网络模块和数据模块,各个模块能提供不同的功能被其他部分调用;控制器对应到上图的MsgService部分,控制着整个客户端消息的处理、数据的存储和界面的刷新。 下面介绍客户端定时访问服务器的整个流程帮助读者理解MVC设计模式:MsgService定时通过网络模块向服务器发送服务请求,然后MsgService通过数据模块对请求响应回来的数据进行解析和储存,接着MsgService通知视图去刷新界面,以上就是大体的过程。有些Acitivity在本综合案例中也充当了控制器的功能。 11.1 客户端 11.1.1 代码结构 客户端代码的结构图如下: activity包完成界面及界面中的点击事件处理功能; application包完成程序界面启动之前的初始化功能以及全局的控制变量; broadcastreceiver包用于接收程序发出的广播并根据广播进行数据处理; contentprovider包能够将数据库开放,并使数据可被其他应用程序调用; database包实现数据库的创建与数据表的建立,提供各种符合业务逻辑的方法让程序对数据库进行增删改查等操作; network包实现请求参数的设置及网络的请求链接; service包用于后台定时向服务器发送请求,进行数据的更新及界面的刷新; utils包是一些辅助工具,比如包含程序处理中的对时间的格式化及多处使用到的自定义Toast等。 图11.2 客户端代码层次图 Android客户端整体包括四个部分,用户界面、数据库、事件处理与网络访问。 1. 用户界面以Activity为核心,包括了基础(controller包)、启动(loginsignin包中LogoActivity.java)、登录注册(loginsignin包)、话题(broadcast包)、好友(friend包)、私信(privateletter包)、用户资料(ProfileActivity.java)与关于(AboutActivity.java),实现了各个界面中的显示及事件触发功能,代码都包含在com.androidbook.client.activity包中。 图11.3 客户端结构 11.1.1 代码结构 数据库部分包括数据库操作类(DatabaseHelper.java)、数据表(table包)及数据共享(contentprovider包)。 网络部分包括了模块(mode包)、请求类(Request.java)及网络连接类(HttpClient.java),模块中包括了针对不同请求类型返回数据的解析类,可以实现对返回数据的解析,请求类实现请求类型、参数的设置,网络连接类实现了具体的网络连接,代码包含在work包中 其他一些包,如配置(application包)、服务(service包)、工具(utils包)等实现辅助功能,配置实现程序的初始化和全局变量的控制,服务完成定时向服务器请求更新数据,工具则实现时间格式化等辅助功能,代码包含在com.androidbook. client的application、service以及utils三个包中,另外还有界面部分中点击事件的处理(activity包)。 11.1.1 代码结构 1. 由事件驱动的任务处理机制 具体的步骤: (1)捕获到事件后确定是何种请求(有请求话题、请求私信和添加好友等); (2)封装具体的请求参数,根据请求的类型填写相应的参数; (3)将参数传送到所在Activity的AysncTask中进行处理,进行网络的判断和数据的请求等; (4)若请求成功,就需要调用数据模块的解析方法以解析响应的JSON格式的数据; (5)若上述请求失败了(本案例的失败包括整个过程的所有失败,比如网络未连接和数据解析失败等),跳到该步骤执行通知用户请求失败;若请求成功,这通知用户刷新界面。 图11.8 事件驱动任务处理 11.1.1 代码结构 2. 定时器驱动的任务机制 具体步骤: (1)与事件驱动不一样的是,这里采用定时器定时启动网络访问; (2)数据的封装与事件驱动的一样; (3)在

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档