我的世界程序员Android技术知识

模板设计终章---如何应用模板设计模式(BaseActivity

2018-04-17  本文已影响26人  九尾74

之前提的,无论是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的),这三层在本质上的差别就是,业务层一般无法用于

其他项目(当然不排除需求类似的情况),但是底层·代码是可以适用于其他项目的,三者之间的联系则是这个设置

到这里我写得就全部都结束了,以后的还很长,希望现在讲可以帮得到开始上路或者已经在路上的各位老铁们。

上一篇下一篇

猜你喜欢

热点阅读