前言
ARouter的出现大大的简化了Android页面之间的跳转,它较Intent使用起来更为方便简洁,但在使用时需要在module的build.gradle文件中进行配置。
ARouter在纯Java编写的moudle中build.gradle文件的配置
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.example.aroutertest"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName: project.getName()]
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:26.+'
testCompile 'junit:junit:4.12'
compile 'com.alibaba:arouter-api:1.1.1'
annotationProcessor 'com.alibaba:arouter-compiler:1.1.1'
}
使用上面方法配置build.gradle之后,我能使用ARouter在各个页面之间跳转了,总算大功告成了!咦,等等,我的ARouter怎么不能跳转到kotlin编写的页面?姿势不对?
查,于是就有了下面的姿势!!
ARouter在使用kotlin(或与Java混合)编码的moudle中build.gradle的配置
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.example.hxb.kotlintest"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
}
kapt {
generateStubs = true
arguments {
arg("moduleName", project.getName())
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.alibaba:arouter-api:1.1.1'
kapt 'com.alibaba:arouter-compiler:1.1.1'
}
至此可以使用ARouter跳转任意页面了,在使用的时候别忘了在Application中调用ARouter.init(this)初始化哟!
在初始使用ARouter的时候,遇到了一个小问题,也分享一下。如下
ARouter使用无效?
ARouter在配置、姿势都正确的情况下却没有达到预期的效果(点击按钮调用器方法页面不跳转)
如果你使的是Android studio解决办法如下:
打开studio的设置窗口,查看其中的Instant Run选项是否被勾选着,如果是,取消选中就可以了!