Base 是针对于 Android 开发封装好一些常用的基类,主要包括通用的 Adapter、Activity、Fragment、Dialog 等、和一些常用的 Util 类,只为更简单。

Base

项目地址:jenly1314/Base 

简介:Base 是针对于 Android 开发封装好一些常用的基类,主要包括通用的 Adapter、Activity、Fragment、Dialog 等、和一些常用的 Util 类,只为更简单。

Download  CI License Blog

Base 是针对于 Android 开发封装好一些常用的基类,主要包括通用的 Adapter、Activity、Fragment、Dialog 等、和一些常用的 Util 类,只为更简单。

Base 3.x 在Base 2.x 的基础上进行了重构,最大的变化是将 base-adapter 和 base-util 提取了出来。

单独提取 library 主要是为了模块化,使其更加独立。在使用时需要用哪个库就引入库,这样就能尽可能的减少引入库的体积。

  • base 主要是封装了常用的 Activity、Fragment、DialogFragment、Dialog 等作为基类,方便使用。
  • base-adapter 主要是封装了各种 Adapter、简化自定义 Adapter 步骤,让写自定义适配器从此更简单。
  • base-util 主要是封装了一些常用的工具类。

Gif 展示(示例 App)

Image

引入

Maven:

//base
<dependency>
  <groupId>com.king.base</groupId>
  <artifactId>base</artifactId>
  <version>3.1.1</version>
  <type>pom</type>
</dependency>

//base-adapter
<dependency>
  <groupId>com.king.base</groupId>
  <artifactId>adapter</artifactId>
  <version>1.1.2</version>
  <type>pom</type>
</dependency>

//base-util
<dependency>
  <groupId>com.king.base</groupId>
  <artifactId>util</artifactId>
  <version>1.1.2</version>
  <type>pom</type>
</dependency>

Gradle:


//base
compile 'com.king.base:base:3.1.1'

//base-adapter
compile 'com.king.base:adapter:1.1.2'

//base-util
compile 'com.king.base:util:1.1.2'

Lvy:

//base
<dependency org='com.king.base' name='base' rev='3.1.1'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>

//base-adapter
<dependency org='com.king.base' name='adapter' rev='1.1.2'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>

//base-util
<dependency org='com.king.base' name='util' rev='1.1.2'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>

如果 Gradle 出现 compile 失败的情况,可以在 Project 的 build.gradle 里面添加如下:(也可以使用上面的 GitPack 来 complie)

allprojects {
    repositories {
        //...
        maven { url 'https://dl.bintray.com/jenly/maven' }
    }
}

引入的库:

//base
provided 'com.android.support:appcompat-v7:25.3.+'
provided 'com.king.base:util:1.1.2'
//base-adapter
provided 'com.android.support:appcompat-v7:25.3.+'
provided 'com.android.support:recyclerview-v7:25.3.+'
//base-util
provided 'com.android.support:appcompat-v7:25.3.+'

简要说明:

Base 主要实用地方体现在:出统一的代码风格,实用的各种基类,BaseActivity 和 BaseFragment 里面还有许多实用的代码封装,只要用了 Base,使用 Fragment 就感觉跟使用 Activtiy 基本是一样的。

代码示例:

通用的 Adapter

/**
  * 
  * 只需继承通用的适配器(ViewHolderAdapter 或 ViewHolderRecyclerAdapter),简单的几句代码,妈妈再也不同担心我写自定义适配器了。
  */
public class TestAdapter extends ViewHolderAdapter<String> {


    public TestAdapter(Context context, List<String> listData) {
        super(context, listData);
    }

    @Override
    public View buildConvertView(LayoutInflater layoutInflater,T t,int position, ViewGroup parent) {
        return inflate(R.layout.list_item,parent,false);
    }

    @Override
    public void bindViewDatas(ViewHolder holder, String s, int position) {
        holder.setText(R.id.tv,s);
    }
}

基类 BaseActivity

public class TestActivity extends BaseActivity {

    private TextView tv;
    private Button btn;

    @Override
    public void initUI() {
        //TODO:初始化 UI
        setContentView(R.layout.activity_test);
        tv = findView(R.id.tv);
        btn = findView(R.id.btn);
    }

    @Override
    public void initData() {
        //TODO:初始化数据(绑定数据)
        tv.setText("text");
    }

    @Override
    public void addListeners() {
        //TODO:添加监听事件
    }

}

GestureActivity

public class TestGestureActivity extends GestureActivity {

    private TextView tv;
    private Button btn;

    @Override
    public void initUI() {
        //TODO:初始化 UI
        setContentView(R.layout.activity_test);
        tv = findView(R.id.tv);
        btn = findView(R.id.btn);
    }

    @Override
    public void initData() {
        //TODO:初始化数据(绑定数据)
        tv.setText("text");
    }

    @Override
    public void addListeners() {
        //TODO:添加监听事件
    }

    @Override
    public void onLeftFling() {
        //TODO:向左滑动
    }

    @Override
    public boolean onRightFling() {
        //TODO:向右滑动,默认执行 finish,返回为 true 表示拦截事件。
        return false;
    }
}

SplashActivity

public class TestSplashActivity extends SplashActivity {
    @Override
    public int getContentViewId() {
        return R.layout.activity_splash;
    }

    @Override
    public Animation.AnimationListener getAnimationListener() {
        return new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                //TODO: 启动动画结束,可执行跳转逻辑
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        };
    }
}

BaseFragment

public class TestFragment extends BaseFragment {
    @Override
    public int inflaterRootView() {
        return R.layout.fragment_test;
    }

    @Override
    public void initUI() {
        //TODO:初始化 UI
    }

    @Override
    public void initData() {
         //TODO:初始化数据(绑定数据)
    }

    @Override
    public void addListeners() {
        //TODO:添加监听事件
    }

}

BaseDialogFragment

public class TestDialogFragment extends BaseDialogFragment {
    @Override
    public int inflaterRootView() {
        return R.layout.fragment_test_dialog;
    }

    @Override
    public void initUI() {
        //TODO:初始化 UI
    }

    @Override
    public void initData() {
        //TODO:初始化数据(绑定数据)
    }

    @Override
    public void addListeners() {
        //TODO:添加监听事件
    }

}

WebFragment

    WebFragment 实现基本 webView 功能

其他小功能

使用 Log: 统一控制管理 Log

 LogUtils.v(); 

 LogUtils.d();

 LogUtils.i();

 LogUtils.w();

 LogUtils.e();

 LogUtils.twf();

 LogUtils.println();

使用 Toast

 showToast(CharSequence text);

 showToast(@StringRes  int resId);

使用 Dialog

 showDialog(View v);
 showProgressDialog();

 showProgressDialog(@LayoutRes int resId);

 showProgressDialog(View v);

App中有主要源码使用示例。更多实用黑科技,请速速使用 Base 体会吧。

关于我

Name: Jenly

Email: jenly1314@gmail.com / jenly1314@vip.qq.com

CSDN: http://www.csdn.net/jenly121

Github: https://github.com/jenly1314

微信公众号:

公众号

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值