• 利用ARouter实现组件间通信,解决子模块调用主模块问题


    如果你还没使用过ARouter请你按照这篇下面博客尝试使用下然后再往下看组件通信的内容(不然的话可能会懵逼)Android Studio接入ARouter以及简单使用

    如果你使用过ARouter请继续往下看:

    1 子模块定义一个与主模块通信的接口 ISkill继承自IProvider
    2 主模块定义一个ISkill实现类ISkillImpl
    3 子模块通过ARouter+反射去获取这个ISkillImpl的实例化对象
    4 通过3的实例化对象进行通信

    理论是无聊的,接下来让我们看代码

    1 子模块中定义一个与主模块通信的接口 ISkill继承自IProvider

    public interface ISkill extends IProvider {
        public void eat();
    }

    2 主模块定义一个ISkill实现类ISkillImpl,注意加上注解!!

    @Route(path = "/app/ISkillImpl")
    public class ISkillImpl implements ISkill {
    
        @Override
        public void eat() {
            Log.i("TAG", "大王叫我来巡山!");
        }
    
        @Override
        public void init(Context context) {
    
        }
    }

    3 子模块通过ARouter获取这个ISkillImpl的实例化对象

      ISkill impl=ARouter.getInstance().build("/app/ISkillImpl").navigation();
      impl.eat();
  • 相关阅读:
    多线程GCD(二)
    多线程
    Runtime & Runloop
    MTK android 重启测试脚本
    ubuntu samba 配置简介
    Gerrit使用简介
    MTK andorid从底层到上层添加驱动
    MTK GPIO 新增变量配置
    MT6755 使用R63350 IC 出现唤醒概率性闪白,并导致ESD FAIL
    android L版本AAL新架构
  • 原文地址:https://www.cnblogs.com/Im-Victor/p/11440023.html
Copyright © 2020-2023  润新知