ARouterパス基本使用

2985 ワード

ARouterはアリが出品しているので、githubの公式サイトの住所とチュートリアルを見て、最新の
ARouter:https://github.com/alibaba/ARouter
Kotliバージョンを正常に使用:
1、App下のBuild:
apply plugin: 'kotlin-kapt'
//    Arouter   
    implementation 'com.alibaba:arouter-api:1.5.0'
    kapt 'com.alibaba:arouter-compiler:1.2.2'

2、初期化
カスタムアプリケーション、もちろんこれができないのは学ぶ必要はありません
class App :Application(){
    override fun onCreate() {
        super.onCreate()
        if (isDebug()) {           //        init  ,       init      
            ARouter.openLog();     //     
            ARouter.openDebug();   //       (   InstantRun     ,        !        ,       )
        }
        ARouter.init(this); //     ,   Application    
    }
    fun isDebug(): Boolean {
        return applicationContext.getApplicationInfo() != null && applicationContext.getApplicationInfo().flags and ApplicationInfo.FLAG_DEBUGGABLE !== 0
    }
}

3、Api機能
//標準的なルーティング要求ARouterを構築する.getInstance().build("/home/main").navigation();
//標準的なルーティング要求を構築し、パケットARouterを指定する.getInstance().build("/home/main", "ap").navigation();
//標準的なルーティング要求を構築し、Uriによって直接Uri uriを解析する.ARouter.getInstance().build(uri).navigation();
//標準的なルーティング要求を構築し、startActivity ForResult//navigationの最初のパラメータはActivityでなければならず、2番目のパラメータはRequestCodeARouterである.getInstance().build("/home/main", "ap").navigation(this, 5);
//BundleBundle params=new Bundle();ARouter.getInstance()     .build("/home/main")     .with(params)     .navigation();
//Flagarouterを指定します.getInstance()     .build("/home/main")     .withFlags();     .navigation();
//FragmentFragment fragment=(Fragment)ARouterを取得する.getInstance().build("/test/fragment").navigation();
//オブジェクト転送ARouter.getInstance()     .withObject("key", new TestObj("Jack", "Rose"))     .navigation();
//インタフェースが足りないと思ったら、Bundleを直接出してARouterを割り当てることができます.getInstance()         .build("/home/main")         .getExtra();
//ターンオーバー動画(通常方式)ARouter.getInstance()     .build("/test/activity2")     .withTransition(R.anim.slide_in_bottom, R.anim.slide_out_bottom)     .navigation(this);
//ターンオーバー動画(API 16+)Activity OptionsCompat=Activity OptionsCompat.    makeScaleUpAnimation(v, v.getWidth()/2, v.getHeight()/2, 0, 0);
//ps.makeSceneTransitionAnimation共有要素を使用する場合、navigationメソッドに現在のActivityを入力する必要があります
ARouter.getInstance()     .build("/test/activity2")     .withOptionsCompat(compat)     .navigation();
//緑のチャネル(すべてのブロッカーをスキップ)ARouterを使用します.getInstance().build("/home/main").greenChannel().navigation();
//自分のログツールを使ってログを印刷する.setLogger();
//元のURIString uristr=getIntent()を取得する.getStringExtra(ARouter.RAW_URI);
//ARouterARouterを閉じます.getInstance().destroy();
4、遮断器
個人的には何の役にも立たないと思いますが、どうせ私はRetrfit+Rxjavaブロッキングをカスタマイズしているので、これは使いません.