利用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();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM