欢迎来到天天文库
浏览记录
ID:41184283
大小:827.37 KB
页数:44页
时间:2019-08-18
《Android应用代码框架设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android应用框架——孙艳框架和设计模式的区别设计模式:只有实例才能用代码表示;设计重用比框架更小的元素;同一模式却可适用于各种应用;设计模式是软件的知识;小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。框架:可以用代码表示,也能直接执行或复用;代码重用;一个框架中往往含有一个或多个设计模式;框架总是针对某一特定应用领域;框架是软件;大智慧,用来对软件设计进行分工。1.主流架构MVC(Model-View-Controller)MVP(Model-View-Presenter)MVVM(Model-View-V
2、iewModel)MVC的由来MVC(Model-View-Controller,模型-视图-控制器)模式是80年代Smalltalk-80出现的一种软件设计模式,后来得到了广泛的应用,其主要目的在于促进应用中模型,视图,控制器间的关注的清晰分离。通用MVCModel(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户
3、输入,并向模型发送数据。MVCDemoController控制器packagecom.xjp.androidmvcdemo.controller;importandroid.app.Dialog;importandroid.app.ProgressDialog;importandroid.os.Bundle;importandroid.support.v7.app.ActionBarActivity;importandroid.view.View;importandroid.widget.EditText;importandro
4、id.widget.TextView;importandroid.widget.Toast;importcom.xjp.androidmvcdemo.R;importcom.xjp.androidmvcdemo.entity.Weather;importcom.xjp.androidmvcdemo.entity.WeatherInfo;importcom.xjp.androidmvcdemo.model.OnWeatherListener;importcom.xjp.androidmvcdemo.model.WeatherMod
5、el;importcom.xjp.androidmvcdemo.model.WeatherModelImpl;publicclassMainActivityextendsActionBarActivityimplementsOnWeatherListener,View.OnClickListener{privateWeatherModelweatherModel;privateDialogloadingDialog;privateEditTextcityNOInput;privateTextViewcity;privateTex
6、tViewcityNO;privateTextViewtemp;privateTextViewwd;privateTextViewws;privateTextViewsd;privateTextViewwse;privateTextViewtime;privateTextViewnjd;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activit
7、y_main);weatherModel=newWeatherModelImpl();initView();}/***初始化View*/privatevoidinitView(){cityNOInput=findView(R.id.et_city_no);city=findView(R.id.tv_city);cityNO=findView(R.id.tv_city_no);temp=findView(R.id.tv_temp);wd=findView(R.id.tv_WD);ws=findView(R.id.tv_WS);sd
8、=findView(R.id.tv_SD);wse=findView(R.id.tv_WSE);time=findView(R.id.tv_time);njd=findView(R.id.tv_njd);findView(R.id.btn_go).setOnCl
此文档下载收益归作者所有