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

时间: 2024-10-26 18:29:00

Android MVC Demo范例参考,基本上很清晰和标准的相关文章

spring mvc开发入门实例demo源代码下载,很适合新手入门学习用。

原文:spring mvc开发入门实例demo源代码下载,很适合新手入门学习用. 源代码下载:http://www.zuidaima.com/share/1550463469046784.htm Eclipse + Maven + Spring MVC - Simple Example 源代码框架截图:

openwebrtc 服务端和android客户端demo安装

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/46649667 转载请一定注明出处! 1,关于openwebrtc OpenWebRTC 是基于 Gstreamer 实现的开源的.跨平台的 WebRTC 客户端框架,支持 H.264 和 VP8.利用 OpenWebRTC,WebRTC就不再仅仅是纯粹浏览器技术了,你可以在NativeAPP中使用WebRTC,并且还可以与浏览器WebRTC互联互通. 2,安装服务端demo d

神目人脸识别Android SDK Demo说明

神目人脸识别Android SDK Demo说明1.Demo使用说明SDK Demo主界面如图1-1所示,主要功能有:1:1,1:N,人脸库管理,设置选项四大功能.具体说明如下:(1)1:1,即图片1与图片2进行人脸比对,得出两者的相似度分数.界面如图1-2所示,点击空白处的图片,进入图片选择界面,选择需要比对的人脸图片即可.注意:图片保持正向,建议尺寸低于1920 X 1080,人脸清晰.(2)1:N,使用该功能之前请至人脸库管理中进行人脸注册.注册完成以后,进入1:N,如图1-3所示,图中显

RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考

RDIFramework.NET 框架兼容各种数据库类型事务使用范例参考 RDIFramwork.NET框架对数据库的事务做了很好的控制,对多表或多条语句需要在同一事务执行提供了很好的支持,同时支持任意主流类型的数据库,下面的代码可以给用户做为参考.用户可以任意扩展使用. 1.传入实体执行执行事务测试 private bool InEntityTransactionTest(string mainId,string detailId) { //可以支持任意流行数据库类型,指定相关的数据库提供者即

百度地图SDK for Android【Demo兴趣点搜索】

百度地图SDK为开发者提供了便捷的检索服务.今天我将为大家介绍Poi检索相关的内容. 首先,我们要构建一个最基本的地图应用,具体介绍请参考:百度地图SDK for Android[Demo地图展示] 在这个工程的基础之上我们做一定的修改. 第一步,修改布局文件,添加关键字输入框和用于执行搜索操作的按钮.代码如下: [html] view plaincopy <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a

Android Service demo例子使用详解

Android Service demo例子使用详解\ 概述Service 是 Android 的四大组件之一,它主要的作用是后台执行操作,Activity 属于带有 UI 界面跟用户进行交互,而 Service 则没有 UI 界面,所有的操作都是基于后台运行完成.并且 Service 跟 Activity 一样也是可以由其它的应用程序调用启动的,而且就算用户切换了应用程序,Service 依旧保持运行.一个组件如果与 Service 进行了绑定( bind ),就可以跟 Service 进行数

Android MVC模式

Android MVC模式 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51172105 前些天看到一篇关于Android MVC模式的技术贴,觉得非常好,所以跟大家分享一下,顺便也说说自己对Android MVC设计模式的见解~~ 算来学习Android开发已有2年的历史了,在这2年的学习当中,基本掌握了Android的基础知识.越到后面的学习越感觉困难,一来是自认为android没啥可学的了(自认为的,其实还有很

android Junit demo

package com.sondon.dhjk.test; import com.sondon.dhjk.utils.LogUtil; import junit.framework.TestCase; public class Test extends TestCase { private static final String TAG = "Test"; /** * 构造函数 * @param name */ public Test(String name) { super(name

《Head First Servlets & JSP》-3-1st servlet MVC demo

项目结构 用户首页 form.html <html> <body> <h1 align='center'>Beer Selection Page</h1> <form method="post" action="SelectBeer.do"> Select <p> Color: <select name="color" size="1"> &l