当前位置: 代码迷 >> Android >> Android MVC Demo实例参考,基本上很清晰和标准
  详细解决方案

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

热度:29   发布时间:2016-04-28 02:46:27.0
Android MVC Demo范例参考,基本上很清晰和标准

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


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


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


项目结构:



布局XML(activity_main.xml):


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <Button        android:id="@+id/btn"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        android:text="MVC加载数据" />    <TextView        android:id="@+id/tv_view"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_below="@id/btn"        android:layout_marginTop="10dp" /></RelativeLayout>

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




  相关解决方案