LEasyBaseLibrary

我的理念概述

我的理念的是能用一行代码解决的是,绝对不用两行
其实编写依赖库的目的就是将一个功能尽可能的完善
代码调用方便,简洁

编写原因

这套代码已经应用应用在我自己的项目中,在原先的BaseLibrary中有提交,但是因为BaseLibray功能太多,因此把这个库单独拿出来再次使用
后期会逐步增加自定义View放进来

Base基础库框架GitHub地址

框架环境的集成

buildscript {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
dependencies {
   // Base库:https://github.com/freedomangelly/LEasyBaseLibrary
   implementation 'com.github.freedomangelly:LEasyBaseLibrary:0.0.0.3'
}

功能说明

Activity Fragment相关

Interface介绍

接口.png

ActivityAction

对Activity的操作进行接口封装

AnimAction

对于常用动画进行了封装

BundleAction

方便快速对Bundle进行put get处理

ClickAction

对于点击事件,进行处理

HandlerAction

对于Handle进程封装处理,便于快速的切换线程
在BaseActivity或者BaseFragment中有remove 此Handle的调用,因此不用担心内存泄漏

KeyboardAction

对于键盘基本操作的封装

ResourcesAction

快速获取资源文件

在BaseActivity 和BaseFragment中都会继承上面的Action,方便使用着快速的调用
将Activity,与Fragment的oncreate方法区按功能划分为以下方法

    /**
     * 获取布局 ID
        再此方法中需要传入布局layoutId设置布局
     */
    protected abstract int getLayoutId();
    /**
    *根据view设置布局
    */
    protected abstract View getLayoutView();

    /**
     * 初始化控件
     */
    protected abstract void initView();

    /**
     * 初始化数据
     */
    protected abstract void initData();
    /**
     *设置监听事件
     */
    protected abstract void addlistener();
    
    /**
    *延时加载(初始化非必要在onCreate中加载的数据)
    */
    protected abstract void initDelayedData();

BaseDialog完成的dialog

dialog使用事例

      //初始化dialog
        new BaseDialog.Builder<>(mContext)
    //设置dilaog布局
                .setContentView(R.layout.dialog_changeline_operate)
    //设置dialog动画样式
                .setAnimStyle(BaseDialog.ANIM_SCALE)
    //设置dialog动画样式
                .setGravity(Gravity.CENTER)
    //设置dialog布局中需要显示的文字
                .setText(R.id.tv_changelingoperate_callname, mContext.getString(R.string.strDialogchangellinetext2)+callManager.getDisplayName()+mContext.getString(R.string.strDialogchangellinetext3))
            //设置dialog点击事件
                .setOnClickListener(R.id.btn_changelingoperate_abandon, (BaseDialog.OnClickListener

IOC功能

可以仿照Butterknife的操作对控件进行初始化,但是与ButterKnife不同的事,我这个是通过反射机制实现不是使用apt
使用方法如下

    @ViewById(R.id.tv)
    TextView tv;

    @OnClick(R.id.tv)
    public void doClick(View view){

    }

其他功能

ExceptionCrashHandle 异常工具

  程序发生crash时,对crash的日志进行捕获,然后将日志保存至指定目录      
  使用方法
  在Application中进行初始化操作,就可以进行补货,但是需要注意的是此方法只能捕获主线程
  ExceptionCrashHandle.getInstance().init(this);

BaseThead 线程基础类,代替原先的Thread

集成ExceptionCrashHandle到此类中,调用此类可以捕获子线程中的crash异常
不推荐使用此方式进行线程的初始化,不方便线程管理,如果使用的话仅限于IO操作使用

Logutil

image.png

格式如下
[ 81: CallHelper.java: dialVoipPhoneHandle(): 304 ] msg : dial dialprecheck state=2,audio=0,media=0,number=9042

[ 线程ID:log所在文件:打印log的方法:log打印的位置(行)] msg : 消息

你可能感兴趣的:(LEasyBaseLibrary)