zoukankan      html  css  js  c++  java
  • kotlin gradle的修改

    Kotlin插件包括一个让我们配置Gradle的工具。但是我还是倾向于保持我对Gradle文件读写的控制权,否则它只会变得混乱而不会变得简单。不管怎么样,在使用自动工具之前知道它是怎么工作的是个不错的主意。所以这次,我们将手动去做。

    首先,你需要如下修改父build.gradle

    buildscript {
        ext.support_version = '23.1.1'
        ext.kotlin_version = '1.0.0'
        ext.anko_version = '0.8.2'
        repositories {
            jcenter()
            dependencies {
                classpath 'com.android.tools.build:gradle:1.5.0'
                classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
            }
        }
    }
    allprojects {
        repositories {
            jcenter() 
        }
    }

    正如你看到的,我们创建了一个变量来存储当前的Kotlin版本。你读到这里的时候去检测一下最新版本,因为可能会有更新的版本已经发布了。我们需要在几个不同的地方用到那个版本号,比如你需要加上新的Kotlin插件的dependency。你会在你指定的那些模块中的build.gradle中再次需要到Kotlin标准库。

    我们对于support library也是如此,Anko库也是同样的做法。用这个方式可以更方便地在一个地方修改所有的版本号。并且使用相同的版本号,更新的时候也不需要每个地方都修改。

    我们会增加Kotlin标准库,Anko库,以及KotlinKotlin Android Extensions plugin插件到dependencies。

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    android {
        ...
    }
    
    dependencies {
        compile "com.android.support:appcompat-v7:$support_version"
        compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
        compile "org.jetbrains.anko:anko-common:$anko_version"
    }
    
    buildscript {
        repositories {
          jcenter() 
        }
        dependencies {
          classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
        } 
    }

    Anko是一个用来简化一些Android任务的很强大的Kotlin库。我们之后将会学习部分anko,但是现在来说仅仅增加anko-common就足够了。这个库被分割成了一系列小的部分以至于我们不会把没用到的部分加进来。

    然后,手动在Activity中增加一个import语句(不要担心你现在对这个还不太理解)。

    import kotlinx.android.synthetic.main.activity_main.*

    onCreate中,你现在可以直接得到并访问这个TextView了。

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        message.text = "Hello Kotlin!"
    }
  • 相关阅读:
    kubeadm部署K8S集群v1.16.3
    MySQL5.7Gtid主从复制总是遇到日志被清等出现无法正常主从复制
    ORACLE数据库SQL优化 not in 与not exits
    某控股公司OA系统ORACLE DG搭建
    阿里云ECS服务器上搭建keepalived+mha+mysql5.6+gtid+一主两从+脚本判断架构踩的坑
    生产案例:开发不小心把某个表数据清了,没有逻辑备份,有物理备份
    生产案例:突然产生大量的归档日志,导致磁盘空间满了无法登陆数据库
    maxscale读写分离
    MYSQL EXPLAIN执行计划命令详解(支持更新中)
    vue 解决 post请求下载文件,下载的文件损坏打不开,结果乱码
  • 原文地址:https://www.cnblogs.com/dubo-/p/6880493.html
Copyright © 2011-2022 走看看