mvc是model、view、controller的缩写。android 鼓励弱耦合和组件的重用,android 中mvc的具体体现如下:
模型(model):是应用程序的主题部分,所有的业务逻辑都应在该层(对数据库的操作、对网络等的操作都应该在model里面处理,当然对计算等操作也是必须放在该层的)。
视图层(view):是应用程序中负责生成用户界面的部分。也是整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示用户的处理结果。一般用xml文件进行界面的描述,使用的时候可以非常方便的引入。
控制层(controller):是根据用户的输入,控制用户界面数据显示及更i新model对象状态的部分。android的控制层的重任通常落在了众多activity的肩上,这句话也就暗含了不要在activity中写过多代码,要通过activity交割model业务逻辑处理层处理,这样做的另外一个原因是android中的activity的响应时间是5秒,如果耗时的操作放在这里,程序很容易被回收掉。
下面用一个案例来简单介绍一下android项目中的分包分层:
package com.dy.mvctest.base; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; /** * Created by dy on 2016/5/9. */ public abstract class BaseActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(setViewId()); findViews(); init(); initEvents(); loadDatas(); } /** * 设置layout的资源id * * @return */ protected abstract int setViewId(); /** * 查找子控件 */ protected abstract void findViews(); /** * 初始化 */ protected abstract void init(); /** * 设置事件监听 */ protected abstract void initEvents(); /** * 加载数据 */ protected abstract void loadDatas(); }
package com.dy.mvctest.base; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * Created by dy on 2016/5/9. */ public abstract class BaseFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // return super.onCreateView(inflater, container, savedInstanceState); View view = inflater.inflate(setViewId(), container, false); findViews(view); init(); initEvent(); loadDatas(); return view; } /** * 设置资源id * * @return */ protected abstract int setViewId(); /** * 查找子控件 */ protected abstract void findViews(View view); /** * 初始化 */ protected abstract void init(); /** * 设置事件监听 */ protected abstract void initEvent(); /** * 加载数据 */ protected abstract void loadDatas(); }
明天继续。。。。
时间: 2024-11-09 09:20:14