Kotlin - Android 开发入门

作者: fish_leong | 来源:发表于2017-08-10 11:31 被阅读601次
  • 谷歌已经宣布 KotlinAndroid 开发一级语言 - 北京时间 2017年5月18日 在 谷歌I/O开发者大会上宣布
  • 在eclipse和Android Studio中,虽然都可以用Kotlin语言开发Android,但Kotlin是JetBrains亲儿子,自家的IDE对自家的语言,支持相对更完美,所以推荐使用Android Studio,Android Studio也是大势所趋
    • Android Studio可将已有的Java(.java)转换成Kotlin(.kt),成功率虽然不是100%,但不成功的,只要少加修改即可
    • Android Studio可以新建Kotlin Activity,而eclipse目前尚不支持
    • Android Studio可以使用Java与Kotlin语言进行混合开发(eclipse目前我还没试过,有兴趣的童鞋可以尝试)
  • 若你坚持要以 eclipse 入门,请点此查看Kotlin语言中文网的教程
  • 建议先初步了解下Kotlin语言基础:Kotlin - 入门基础 请点此查看

下面说一下在Android Studio中配置并使用Kotlin语言开发Android项目

1.首先,打开Android Studio并新建项目

Start a new Android Studio project 依次配置 程序名、包名、工程路径 选择目标平台及SDK版本 选个Empty Activity吧,然后Next、再Finish 开始构建新项目了

2.安装Kotlin插件

  • 新版Android Studio或IDEA默认已经集成了Kotlin插件
  • 进入Setting - Plugins - 搜索Kotlin,如下图一样的话,说明已经集成了Kotlin插件


  • 如果你没有集成Kotlin插件,点击上图中的“Install JetBrains plugin”按钮,在弹出的界面中搜索“Kotlin”并Install它即可

3.让你的项目支持Kotlin

  • Android Studio使用Gradle构建项目,所以我们要配置Gradle的配置文件,需要修改两个gradle配置:
    • 配置Project的build.gradle
    • 配置app的build.gradle
3.1.首先切换到project视图
3.2.配置Project的build.gradle文件
  • 打开Project下的build.gradle文件
  • 需要添加两行代码,如图3.2所示
    • buildscript代码块中定义Kotlin版本号,
      • 下面的Kotlin版本号1.1.3是我在写此文章时的最新版本,也许当你看到此篇文章时,Kotlin已经不知道更新到什么版本了...可以从Kotlin官网了解最新版本
        ext.kotlin_version = '1.1.3'
        
    • dependencies代码块中添加Kotlin的Gradle插件
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
      
  • 然后保存,点击右上角的Sync Now,进行同步


    图3.2
3.3.配置app的build.gralde文件
  • 打开app的build.gradle文件
  • 在首行的"apply plugin: 'com.android.application'"下加入下面的代码
    apply plugin: 'kotlin-android'
    
  • 在dependencies(依赖)代码块中加入下面的代码
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    
  • 然后保存,点击右上角的Sync Now,进行同步
3.4.新建一个Kotlin Activity
其实和建立Java的Activity一个套路,只不过这里要选KotlinActivity 以Empty Activity当例子 配置Activity信息,并Finish 建立成功,看起来和新建Java的Activity差不多吧?AndroidManifest.xml中也自动帮你注册了这个Activity
3.5.启动KotlinActivity
  • Kotlin可与Java进行混合开发
  • 下面通过Java语言编写的MainActivity启动Kotlin语言编写的KotlinActivity
代码很简单,然后运行程序试试 跑起来..…看,KotlinActivity成功的被启动起来
3.6.将Java代码转换成Kotlin代码
  • Kotlin插件可以将Java代码转换成Kotlin代码,如果转换完报错,一般稍加调整即可(前提你要先了解Kotlin的语法,否则改起来会有点懵逼,如图3.6)

    图3.6
  • 下面将MainActivity.java转换成Kotlin.kt,操作如下图

打开MainActivity或选中MainActivity文件,按照图中操作进行转换 图3.6-1 转换成功,再次运行项目,完美运行 我的天呐!就是这么神奇
  • 图3.6-1中的onCreate函数需要注意一下
    • 如果你转换的Activity继承于android.app.Activity,转换后onCreate的参数Bundle类型后不会自动加?,编辑器的语法检查也没检查出来,运行会出现类似下面的错误(java.lang.IllegalArgumentException):
       E/AndroidRuntime: FATAL EXCEPTION: main
                                               Process: leong.fish.kt.kotlinandroid, PID: 5192
                                               java.lang.RuntimeException: Unable to start activity ComponentInfo{leong.fish.kt.kotlinandroid/leong.fish.kt.kotlinandroid.MainActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal
      
      为毛???
      • 因为这个Activity onCreate时,savedInstanceState是null,而不带?Bundle,代表它不接受null,所以出现异常崩溃,这涉及到Kotlin空安全,点此了解下吧~
    • 如果你要转换的Activity继承于android.support.v7.app.AppCompatActivity,则不会出现上面的错误,因为Bundle后面会自动加?,如果你删掉,语法检查将会报错提示你的。
    • 还有些类转换时会出现这种问题,遇到的童鞋到时可以试试上面的方法。

以上就是Android Studio使用Kotlin语言开发的简单教程。

建议先初步学习下Kotlin语言:Kotlin - 入门基础 请点此查看

相关文章

网友评论

本文标题:Kotlin - Android 开发入门

本文链接:https://www.haomeiwen.com/subject/boicrxtx.html