Android应用代码框架设计合编.pptx

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android应用框架 ——孙艳 框架和设计模式的区别 设计模式: 只有实例才能用代码表示; 设计重用 比框架更小的元素; 同一模式却可适用于各种应用; 设计模式是软件的知识; 小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。 框架: 可以用代码表示,也能直接执行或复用; 代码重用; 一个框架中往往含有一个或多个设计模式; 框架总是针对某一特定应用领域; 框架是软件; 大智慧,用来对软件设计进行分工。 1.主流架构 MVC( Model-View-Controller ) MVP( Model-View-Presenter ) MVVM(Model-View-ViewModel) MVC的由来 MVC(Model-View-Controller,模型-视图-控制器)模式是80年代Smalltalk-80出现的一种软件设计模式,后来得到了广泛的应用,其主要目的在于促进应用中模型,视图,控制器间的关注的清晰分离。 通用MVC Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。 View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。 Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。 Android中MVC的分工 M层:适合做一些业务逻辑处理,比如数据库存取操作,网络操作,复杂的算法,耗时的任务等都在model层处理。 V层:应用层中处理数据显示的部分,XML布局可以视为V层,显示Model层的数据结果。 C层:在Android中,Activity处理用户交互问题,因此可以认为Activity是控制器,Activity读取V视图层的数据(eg.读取当前EditText控件的数据),控制用户输入(eg.EditText控件数据的输入),并向Model发送数据请求(eg.发起网络请求等)。 Activity XML布局 MVC Demo Controller控制器 package com.xjp.androidmvcdemo.controller; ? import android.app.Dialog; import android.app.ProgressDialog; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; ? import com.xjp.androidmvcdemo.R; import com.xjp.androidmvcdemo.entity.Weather; import com.xjp.androidmvcdemo.entity.WeatherInfo; import com.xjp.androidmvcdemo.model.OnWeatherListener; import com.xjp.androidmvcdemo.model.WeatherModel; import com.xjp.androidmvcdemo.model.WeatherModelImpl; ? ? public class MainActivity extends ActionBarActivity implements OnWeatherListener, View.OnClickListener { ? ????private WeatherModel weatherModel; ????private Dialog loadingDialog; ????private EditText cityNOInput; ????private TextView city; ????private TextView cityNO; ????private TextView temp; ????private TextView wd; ????private TextView ws; ????private TextView sd; ????private TextView wse; ????private TextView time; ????private TextView njd; ???? ????@Override ????protected void onCreate(Bundle savedInstanceState) { ????

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档