Android MVC Demo范例参考,基本上很清晰和标准

Android MVC Demo范例参考,基本上很清晰和标准


MVC就是将V(View)和M(Model)通过C(Controller)分离开,降低耦合度。


这里给出一个自己写的Android MVC参考的规范:


项目结构:

Android MVC Demo范例参考,基本上很清晰和标准_第1张图片


布局XML(activity_main.xml):




    

MainActivity.java


package com.tandong.androidmvc;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

import com.tandong.androidmvc.R;
import com.tandong.androidmvc.base.BaseActivity;
import com.tandong.androidmvc.implement.MainImplement;
import com.tandong.androidmvc.model.MainModel;

public class MainActivity extends BaseActivity implements MainImplement,
		OnClickListener {
	private Button btn;
	private TextView tv_view;
	private MainModel mModel;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mModel = new MainModel();
		btn = (Button) this.findViewById(R.id.btn);
		tv_view = (TextView) this.findViewById(R.id.tv_view);
		btn.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;

		default:
			break;
		}
	}

}

BaseActivity.java


package com.tandong.androidmvc.base;

import android.app.Activity;
import android.os.Bundle;

public class BaseActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
	}
}

MainImplement.java


package com.tandong.androidmvc.implement;

public interface MainImplement {
	public void loadData();
}

MainModel.java


package com.tandong.androidmvc.model;

import android.widget.TextView;

public class MainModel {
	public void loadData(TextView tv_view) {
		tv_view.setText("MVC模式在Android中的应用,获取到的Model中处理的数据");
	}
}

这样就实现了逻辑实现和界面的分离。


作者:谭东

QQ:852041173




你可能感兴趣的:(Android)