• 利用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();
  • 相关阅读:
    BZOJ1059|矩阵游戏
    Tyvj3632|超级英雄Hero
    BZOJ1192 鬼谷子的钱袋
    BZOJ1003 ZJOI2006物流运输trans 0'
    BZOJ1008|HNOI2008 越狱
    添加setuptools脚本
    更新linux下python版本
    函数式编程正确姿势
    python 多线程操作数据库
    python with语句
  • 原文地址:https://www.cnblogs.com/Im-Victor/p/11440023.html
Copyright © 2020-2023  润新知