ARouterパス基本使用
2985 ワード
ARouterはアリが出品しているので、githubの公式サイトの住所とチュートリアルを見て、最新の
ARouter:https://github.com/alibaba/ARouter
Kotliバージョンを正常に使用:
1、App下のBuild:
2、初期化
カスタムアプリケーション、もちろんこれができないのは学ぶ必要はありません
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ブロッキングをカスタマイズしているので、これは使いません.
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ブロッキングをカスタマイズしているので、これは使いません.