之前提的,无论是AsyncTask还是View的绘制流程,其实都涉及到了模板设计模式,我也说了,
阅读源码不仅解决问题,我们还可以去模仿他们里面的一些方法来写我们的程序,
这里讲的虽然只是用到了一些皮毛,但是,也希望这篇文章老铁们看了之后可以让自己的程序更规范,思路条理更加清晰。
在所有开始之前,我想说,如果你是刚入门安卓语言的小萌新,那么这·篇文章是适合你的,如果哪位兄弟已经学的很6了
那么现在写得并不适合你去阅读,因为我但现在都觉得自己还没学多少。依旧在安卓这个坑里面挣扎着。
话我就说到这里了,接下来,直接进入我们的主题----把模板设计模式运用到项目中
直接上程序:
package com.example.baselibrary.ioc.BaseActivity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
/**
* Created by 廖成康 on 2018/4/17.
*/
public abstract class BaseActivityextends AppCompatActivity
{
// int LayoutId;
//
// /// 初始化界面
// private int SetViewId(int layoutId)
// {
// return this.LayoutId=layoutId;
// }
@Override
protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView();
initData();
initTitle();
initView();
}
///初始化界面
protected abstract void initView();
///初始化头部
protected abstract void initTitle();
///初始化Data
protected abstract void initData();
//设置布局Layout
protected abstract void setContentView();
/**
* 利用一个T避免每一次的强转
* @param viewId
* @param
* @return
*/
private T ViewById(int viewId)
{
return findViewById(viewId);
}
/**
* 开始一个意图
* @param clazz
*/
private void startactivity(Class clazz)
{
Intent intent=new Intent(this,clazz);
startActivity(intent);
}
}
这里是分了三层的,业务层,中间层,底层。这三层,业务层是主要用来和用户交互的,中间层类似一个缓冲地带,
底层则是用来写最底层的一些程序的(比如:BaseActivity的),这三层在本质上的差别就是,业务层一般无法用于
其他项目(当然不排除需求类似的情况),但是底层·代码是可以适用于其他项目的,三者之间的联系则是这个设置
到这里我写得就全部都结束了,以后的还很长,希望现在讲可以帮得到开始上路或者已经在路上的各位老铁们。
网友评论