如果你還沒使用過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();
