美文网首页JAVA开发Android/NDK开发
(七)Kotlin 小案例与展望未来

(七)Kotlin 小案例与展望未来

作者: onestravel | 来源:发表于2018-12-13 15:32 被阅读1次

    一、Kotlin 的应用场景

    1、Kotlin Script

    • Gradle 脚本,Gradle3.0 开始部分支出,尚在完善中

    2、Java 虚拟机应用

    • Web 应用,完美支持
    • JavaFx,jdk8开始完美支持

    3、前端开发

    • 1.1 开始正式支持 Kotlin-JavaScript

    4、Android 应用开发

    • Kotlin 目前的主要战场

    5、Native 程序

    • 直接编译 Kotlin 代码为机器码,不依赖Jvm
    • 支持与 C 代码交互
    • 技术预览版功能有限,前途无量

    二、Kotlin Script 实例

    1、安装 Kotlin 编译库

    Windows下Kotlin命令行开发环境安装
    • 安装环境准备

    Kotlin编译器:从GitHub下载,截止2017-9-5 最新版本是1.1.4,
    GitHub主页

    Java JDK 8,可以从Oracle官网下载,下载JDK8

    • 安装

    在Windows操作系统完成JDK 8的安装以后,安装Kotlin编译器:

    解压Kotlin安装包:kotlin-compiler-1.1.4.zip,本文解压到D盘kotlin目录下

    将D:\kotlin\kotlinc\bin目录路径,添加到Windows系统环境变量即可

    Windows 10环境变量设置:【控制面板】中直接搜索【环境变量】,然后【编辑系统环境变量】即可;

    • 验证安装是否成功

    打开windows的命令行窗口
    输入命令:kotlinc -version,如果提示Kotlin 1.1.4版本号,安装成功

    其它可选的安装平台

    在Windows和Linux、OS X上通用的安装方法:

    下载Java JDK 环境安装

    Linux,OS X,FreeBSB,Solaris等*Unix系统支持以下方法:

        // sdkman 包管理工具
        $ curl -s https://get.sdkman.io | bash
    
        // 一定要新开终端窗口执行以下命令
        $ sdk install kotlin
    

    Max OS X 还支持以下方式:

        // homebrew工具安装 
        $ brew update
        $ brew install kotlin
    

    2、编译执行Kotlin Script(.kts) 文件

        // 编译.kts 脚本文件
        kotlinc -script *.kts
    
        // 编译源码为可运行的jar包
        kotlinc D:\kotlin_code\hello.kt -include-runtime -d hello.jar
    
        // 使用java执行hello.jar
        java -jar D:\kotlin_code\hello.jar 
    
        // 使用java执行类名运行
        java -cp D:\kotlin_code\hello.jar  HelloKt
    
        // 使用kotlin执行,需要指明main类,执行类名
        kotlin -cp D:\kotlin_code HelloKt
    
        // 或者直接运行jar包
        kotlin D:\kotlin_code\hello.jar
    

    三、Kotlin Android 实例

    1、Kotlin Android 插件

    - kotlin.android.extensions
    apply plugin "kotlin.android.extensions"
    

    使用该插件可以在代码中省去 findViewById ,可直接使用对应 xml 布局文件中对应 View 的 id 属性定义的名称来进行相应的操作
    如:

    main_layout.xml

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/tvName"/>
    

    MainActivity.kt

    tvName.text="Hello World"
    
    - anko 库
    • 添加 anko 库
    compile "org.jetbrains.anko:anko-sdk15:0.9.1"
    
    • 改变 View 的setOnClickListener
    tvName.onClick{view ->
        (view!! as TextView).text="${System.currentTimeMilles()}"
    }
    
    • 改变 startActivity
    val intent = Intent(this@MainAvtivity,Main2Activity::class.java)
    intent.putExtra("key","From MainActivity")
    this@MainAvtivity.startActivity(intent)
    

    更改后为

    startActivity<Main2Activity>("key" to "From MainActivity")
    
    • 代码中定义View,可无需布局文件

    Main2Activity.kt

    override fun onCreate(savedInstanceState: Bundle?){
        super.onCreate(savedInstanceState)
        relativeLayout{
            textView(intent.extras["key"]?.toString()?: "Hello"){
                
            }.lparams(matchParent,matchParent){
                gravity = Gravity.CENTER
            }
        }.lparams(matchParent,matchParent){
            gravity = Gravity.CENTER
        }
    }
    

    四、Kotlin javascript 实例

    创建一个kotlin (javascript) 的项目

    新建 Main.kt 文件

    fun main(args:Array<String>){
        document.write("Hello World!")
    }
    

    build 该项目,会在out 下生成对应的js 文件
    ;页面引入对应的js文件,就可以在浏览器访问该页面了

    index.html

    <html>
        <head>
            <title>Hello Kotlin javasicrpt</title>
        <script src="${kotlin.js文件所在路径}/kotlin.js"/>
        <script src="${kotlin-javascript.js文件所在路径}/kotlin-javascript.js"/>
        </head>
        
        <body>
        
        </body>
    </html>
    

    五、Kotlin SpringBoot 实例

    1、配置插件

    buildscript{
        ext.springBootVersion = "1.5.9.RELEASE"
        dependencies{
            classpath "org.jetbrains.kotlin:kotlin-noarg:@kotlin_version"
            classpath "org.jetbrains.kotlin:kotlin-allopen:@kotlin_version"
            classpath "org.springframework.boot:Spring-boot-gradle-plugin:@springBootVersion"
        }
    }
    apply plugin: 'kotlin-spring'
    apply plugin: 'kotlin-jpa'
    apply plugin: 'org.springframework.boot'
    dependencies{
        compile "org.springframework.boot:spring-boot-starter-web"
        compile "org.springframework.boot:spring-boot-starter-data-jpa"
        compile "com.h2database:h2"
        compile "com.fasterxml.jackson.module:jackson-module-kotlin:2.8.4"
    }
    

    上一篇:(六)Kotlin 与 Java 混合开发

    相关文章

      网友评论

        本文标题:(七)Kotlin 小案例与展望未来

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