首页 > 编程知识 正文

java与kotlin,kotlin java 混合开发

时间:2023-05-06 07:37:48 阅读:285545 作者:584

前提 项目结构: app作为应用模块 (kotlin模块),book作为库模块(java模块),base(java模块)作为顶层配置模块 模块关系:app和book都依赖base这个模块1.Arouter配置 1.1在base模块的bulid.gradle中添加依赖配置 //arouter引入 api 'com.alibaba:arouter-api:1.5.0' annotationProcessor 'com.alibaba:arouter-compiler:1.2.2' 1.2在kotlin模块(app模块)添加依赖配置 1.2.1添加如下依赖 //网上资料说是做下面配置 kapt { arguments { arg("moduleName", project.getName()) } } //但是做上面那种配置方式,我的项目一直报错,所以我这个地方还是按照java的配置方式来,如下: javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project.getName()] } } 1.2.2添加如下依赖 //上面虽然采用了java配置方式,但是这个地方要采用kapt来进行引入依赖 //arouter引入 api project(':base') kapt 'com.alibaba:arouter-compiler:1.2.2' 1.3在java模块(book)中添加依赖配置 1.3.1添加如下依赖 javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project.getName()] } } 1.3.2添加如下依赖 //arouter引入 api project(':basemodule') annotationProcessor 'com.alibaba:arouter-compiler:1.2.2' 1.4在项目的build.gradle配置如下代码: classpath "com.alibaba:arouter-register:1.0.2" 2.注意点: 1.所有使用了Arouter的module都必须被app模块依赖 2.所有使用了Arouter的module都必须配置上面的基本配置 3.Arouter基本使用流程 3.1对Arouter进行初始化,在Application中的onCreate中配置 //debug模式下必须配置这两句话,而且必须在初始化ARouter之前 ARouter.openLog(); ARouter.openDebug(); //初始化Arouter ARouter.init(this);

3.2简单使用 //1.第一步:配置path@Route(path=CommonUrl.HISTORY_PATH)public class HistoryActivity extends AppCompatActivity { //第三步:获取传过来的参数 @Autowired String key1; @Autowired Long key3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_history); ARouter.getInstance().inject(this); Log.d("HistoryActivity",key1+"-"+key3); }}//第二步:调用方式 ARouter.getInstance().build(CommonUrl.HISTORY_PATH) .withLong("key1", 666L) .withString("key3", "主页面第一条数据") .navigation() //下面是配置path的类 public class CommonUrl { public static final String HISTORY_PATH="/history/HistoryActivity"; public static final String APP_PATH="/app/MainActivity"; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。