1 Star 0 Fork 0

dongsl / dyecost-android-basics

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

📜 dyecost

dyecost-android-basics 是一款android的基础框架。

🕹 功能特性

  • 基于mvvm模式的结构
  • 提供Activity,Fragment,Adapter基础类
  • 支持dataBinding, 绑定图片, 绑定防抖点击,触摸事件
  • 所有dyecost-android库都可以单独使用
  • ViewPage2懒加载演示

🧸 描述

  1. 此库做为应用开发的基础架构, 针对Activity,Fragment,Adapter等基础类提供了一些基础方法, 在使用让代码更加清晰简洁.
  2. 针对dataBinding的绑定功能做了封装, 支持绑定图片,绑定事件(EventBindingAdapter,ImageBindingAdapter).
  3. com.dyecost.basics.base包下的类属于最顶级的基础类,只实现android最基础的功能,在使用时与com.dyecost.basics.dy包下的类任选其一继承使用,dy包支持dataBinding.
  4. DyHandler在使用时推荐再次封装一层来进行使用.
  5. com.dyecost.basics.binding包下是使用@BindingAdapter进行事件绑定,可以与dyecost-android-view等其它库结合使用,其它库不支持databing,可以使用次方是支持.

🎗 支持

  • JDK: 1.8
  • SDK: >= 16
  • NDK: >= android-ndk-r16b
  • 支持dataBinding

🚀 依赖方式

Step 1. Add it in your root build.gradle at the end of repositories:
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
Step 2. Add the dependency
implementation 'com.gitee.dongsl:dyecost-android-basics:1.2.6'

💡 参考案例

Java:

public class MainActivity extends DyActivity<ActivityMainBinding> {

  public MainHandler mainHandler;
  private MainListAdapter mainListAdapter;

  @Override
  protected void initView(Bundle savedInstanceState) {
    init(this, R.layout.activity_main); //初始化 + 绑定
  }

  /**
   * 初始化变量(参数,控件,viewModel等)
   */
  @Override
  public void initVariable() {
    //获取控件

    //初始化hander
    mainHandler = DyViewModel.getHandler(this, MainHandler.class);
    //初始化其他
    mainListAdapter = new MainListAdapter(context, mainHandler);

  }

  /**
   * 初始化控件(设置不能在layout中设置的属性,样式,计算像素等)
   */
  @Override
  public void initControl() {
  }

  /**
   * 初始化数据(设置固定数据,获取首次打开页面加载的数据)
   */
  @Override
  public void initData() {
    mainHandler.pullData();
  }

  /**
   * 绑定观察者监听(liveData,databinding)
   */
  @Override
  public void bindObserve() {
    //绑定信息
    binding.setAdapter(mainListAdapter);
    binding.setMainHandler(mainHandler);

    //绑定观察者
    //模拟调用http接口后的 回调并保存到本地数据库(room),通过dao插入并使用两种方式进行查询(dao和自定义sql), 自定义sql可以做一些动态操作
    mainHandler.getAgileLiveData().observe(this, new BusinessListener<List<String>>() {
      @Override
      public void success(List<String> list) {

        try {
          mainListAdapter.setData(list);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }

  /**
   * 绑定事件监听
   */
  @Override
  public void bindEvent() {
  }

  /**
   * 服务器获取数据
   */
  @Override
  public void getData() {

  }
}

更多使用案例请查看 app 目录。

🔥 性能测试

1

测试 A B C
* * * *
* * * *
* * * *

🔎 相关库

👥 贡献者

如果您觉得 dyecost-android-basics 缺少您需要的功能,请不要犹豫,马上参与进来,发起一个 issue

Repository Comments ( 0 )

Sign in for post a comment

About

Cancel

Releases (8)

All

Contributors

All

Activities

Load More
can not load any more
1
https://gitee.com/dongsl/dyecost-android-basics.git
git@gitee.com:dongsl/dyecost-android-basics.git
dongsl
dyecost-android-basics
dyecost-android-basics
master

Search

141041 ab9339c7 1850385 141043 25c028d5 1850385