利用ARouter實現組件間通訊,解決子模塊調用主模塊問題

若是你還沒使用過ARouter請你按照這篇下面博客嘗試使用下而後再往下看組件通訊的內容(否則的話可能會懵逼)Android Studio接入ARouter以及簡單使用app

若是你使用過ARouter請繼續往下看:ide

1 子模塊定義一個與主模塊通訊的接口 ISkill繼承自IProvider
2 主模塊定義一個ISkill實現類ISkillImpl
3 子模塊經過ARouter+反射去獲取這個ISkillImpl的實例化對象
4 經過3的實例化對象進行通訊ui

理論是無聊的,接下來讓咱們看代碼spa

1 子模塊中定義一個與主模塊通訊的接口 ISkill繼承自IProvidercode

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的實例化對象blog

  ISkill impl=ARouter.getInstance().build("/app/ISkillImpl").navigation();
  impl.eat();
相關文章
相關標籤/搜索