Android开发基础课件(第2章) .pptxVIP

  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文档。上传文档
查看更多
模块2 MVC设计模式;模块2MVC设计模式;模块2MVC设计模式; 2.1创 建 新 类; 2.1创 建 新 类; 2.1创 建 新 类; 2.1创 建 新 类; 2.1创 建 新 类; 2.1创 建 新 类; 2.1创 建 新 类; 2.1创 建 新 类; 2.1创 建 新 类; 在图2-4中,应用的对象按模型、控制器和视图的类别被分为三部分。Android应用是基于模型控制器视图(ModelViewController,MVC)的架构模式进行设计的。MVC设计模式表明,应用的任何对象归根结底都属于模型对象、视图对象以及控制对象中的一种。 (1)模型对象存储着应用的数据和业务逻辑。模型类通常被设计用来映射与应用相关的一些事物,如用户、商店里的商品、服务器上的图片或者一段电视节目。又或是GeoQuiz应用里的地理知识问题。模型对象不关心用户界面,它存在的唯一目的就是存储和管理应用数据。 Android应用里的模型类通常就是我们创建的定制类。应用的全部模型对象组成了模型层。 GeoQuiz的模型层由TrueFalse类组成。; (2)视图对象知道如何在屏幕上绘制自己及如何响应用户的输入,如用户的触摸等。一个简单的经验法则是,凡是能够在屏幕上看见的对象,就是视图对象。 Android默认自带了很多可配置的视图类。当然,也可以定制开发自己的视图类。应用的全部视图对象组成了视图层。 GeoQuiz应用的视图层是由activity_quiz.xml文件中定义的各类组件构成的。 (3)控制对象包含了应用的逻辑单元,是视图与模型对象联系的纽带。控制对象被设计用来响应由视图对象触发的各类事件,此外还用来管理模型对象与视图层间的数据流动。 在Android的世界里,控制器通常是Activity、Fragment或Service的一个子类。 当前,GeoQuiz的控制层仅由QuizActivity类组成。; 图2-5展示了在响应用户单击按钮等事件时,对象间的交互控制数据流。注意,模型对象与视图对象不直接交互。控制器作为它们间的联系纽带,接收来自对象的消息,然后向其他对象发送操作指令。; 使用MVC设计模式的好处如下。 随着应用功能的持续扩展,应用往往会变得过于复杂而让人难以理解。以Java类的方式组织代码有助于我们从整体视角设计和理解应用。这样,我们就可以按类而不是按一个个变量和方法去思考设计开发问题。 同样,把Java类以模型、视图和控制层进行分类组织,也有助于我们设计和理解应用。这样,我们就可以按层而非一个个类来考虑设计开发了。 尽管GeoQuiz不是一个复杂的应用,但以MVC分层模式设计它的好处还是显而易见的。接下来,我们来升级GeoQuiz应用的视图层,并为它添加一个Next按钮。我们会发现,在添加Next按钮的过程中,可完全不用考虑刚才创建的TrueFalse类的存在。; 使用MVC模式还可以让类的复用更加容易。相比功能多而全的类,有特别功能限定的专用类更加有利于代码的复用。举例来说,模型类TrueFalse与用作显示问题的组件毫无代码逻辑关联。这样,就很容易在应用里按需自由使用TrueFalse类。假设现在想显示所有地理知识问题列表,很简单,直接复用 TrueFalse对象逐条显示就可以了。; 了解了MVC设计模式后,现在我们来更新GeoQuiz应用的视图层,为其添加一个Next按钮。 在Android编程中,视图层对象通常生成自XML布局文件。GeoQuiz应用唯一的布局定义在 activity_quiz.xml文件中。布局定义文件需要更新的地方如图2-6所示。无须变化的组件属性这里就不再赘述了。; 应用视图层所需的变动操作如下。 (1)删除TextView的android:text属性定义。这里不再需要硬编码。 (2)为TextView新增android:id属性。TextView组件需要一个资源ID,以便在QuizActivity代码中为它设置要显示的文字。 (3)以根LinearLayout为父组件,新增一个Button组件。回到activity_quiz.xml文件中,参照代码清单23完成XML文件的相应修改。 代码清单2-3 新增按钮及文本视图的调整(activity_quiz.xml) LinearLayout ... TextView android:id=@+id/question_text_view ;android:layout_width=”wrap_content android:layout_height=wrap

文档评论(0)

158****4367 + 关注
实名认证
文档贡献者

教师资格证持证人

学海无涯

领域认证该用户于2025年04月18日上传了教师资格证

1亿VIP精品文档

相关文档