android 开源mvc框架,Android之MVC模式的使用

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

Model 层处理数据,业务逻辑等;

View 层处理界面的显示结果;

Controller层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。

public class MainActivity extends Activity implements Implement,OnClickListener {

private TextView tv_view;

private MainModel mModel;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.th);

initView();

}

private void initView() {

// TODO Auto-generated method stub

mModel = new MainModel();

tv_view = (TextView) this.findViewById(R.id.tv_view);

findViewById(R.id.btn).setOnClickListener(this);

findViewById(R.id.btn1).setOnClickListener(this);

}

@Override

public void loadData() {

mModel.loadData(tv_view);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn:

loadData();

break;

case R.id.btn1:

httpData();

break;

default:

break;

}

}

@SuppressLint("HandlerLeak") @Override

public void httpData() {

Object data=mModel.httpData();

if(data!=null)

{

tv_view.setText(data.toString());

}else{

onError();

}

}

@Override

public void onError() {

// TODO Auto-generated method stub

Toast.makeText(getApplicationContext(), "加载数据失败",Toast.LENGTH_LONG).show();

}

}

public class MainModel {

public void loadData(TextView tv_view) {

tv_view.setText("MVC模式在Android中的应用,Model获取数据");

}

/***

* 网络请求

*

* @return 返回请求数据

*/

public Object httpData() {

return "网络请求返回数据";

}

}

MVC的优点:

1.耦合性低。所谓耦合性就是模块代码之间的关联程度。利用MVC框架使得View(视图)层和Model(模型)层可以很好的分离,这样就达到了解耦的目的,所以耦合性低,减少模块代码之间的相互影响。

2.可扩展性好。由于耦合性低,添加需求,扩展代码就可以减少修改之前的代码,降低bug的出现率。

3.模块职责划分明确。主要划分层M,V,C三个模块,利于代码的维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值