8000 GitHub - xiaoxiaogogo/Qiaoba
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

xiaoxiaogogo/Qiaoba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

Qiaoba

解决Android组件化后,各组件间通信的问题。 处理问题:1、使用路由的方式启动页面 2、组件间业务逻辑api的跨组件间调用

支持功能

  • 支持跨组件通过路由启动页面(支持自定义路由的方式)
  • 支持Builder模式设置跳转页面需要传递的参数,启动Activity的flag,设置requestCode以及启动页面回调的支持(onSucess,onError)
  • 借鉴了Retrofit使用外观模式+动态代理的方式,使用这种外观模式实现解耦和java面向对象方式实现路由启动页面
  • 增加Router和跨组件api调用的结果回调支持
  • 增加通过路由获取Fragment,以及通过路由将Fragment加载指定resource id 上
  • 增加依赖注入,降低组件之间的耦合(这里指的是可以引用到组件,引用不到的只能使用下面提供的跨组件api调用)

下面的功能是目前业界没有实现过的,只有本框架才有

  • 支持跨组件间的业务逻辑api的调用
  • 跨组件业务api的调用,支持api方法的回调参数的支持
  • 支持单业务api被多个组件调用(业务提供者和调用者1对多的支持)

引用的版本随时在更新,由于修改bug,升级功能等都可能升版本,所以如果使用本框架,请持续关心更新动态

下个大版本计划,增加多进程的组件解耦通信支持(好久没更新,总要来点干货)

//引入方式方式
compile 'com.xiaoxiao.qiaoba:qiaoba:1.0.7' //主要实现业务逻辑的模块(解决了在Android5.0跨组件api调用异常)
apt 'com.xiaoxiao.qiaoba:protocol-interpreter:1.0.5'//apt编译期处理代码
compile 'com.xiaoxiao.qiaoba:protocol-annotation:1.0.5'//apt使用的注解

混淆规则的配置如下:

//proguard配置
-keep class com.xiaoxiao.qiaoba.**{*;}
-keep @com.xiaoxiao.qiaoba.annotation.communication.Provider class *{
     <methods>;
}
-keep @com.xiaoxiao.qiaoba.annotation.communication.Caller class *{
    <methods>;
}
-keep @com.xiaoxiao.qiaoba.annotation.communication.CallBack class *{
    <methods>;
}
-keep @com.xiaoxiao.qiaoba.annotation.communication.CallbackParam class *{
    <methods>;
}

接入使用详解地址 欢迎支持

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0