zoukankan      html  css  js  c++  java
  • 初试kotlin:用Kotlin开发桌面/CommandLine 工具

    既然kotlin是google和jetbrain联合搞的,开发环境不用说了肯定是Intellij Idea了。

    先创建一个kotlin项目。

    先来一个HelloWorld

    package com.xirtam.liqui.price
    
    /**
     * Created by xirtam on 17/7/4.
     */
    class Main {
    
    }
    
    fun main(args: Array<String>) {
        println("Hello Kotlin");
    }

    注意和Java不同,这个class是没啥用的,程序入口不需要放在类里。

    然后运行点这里

    运行结果

    接下来写一个获取liqui虚拟币行情的小工具吧,需要编写网络请求,java和kotlin互相调用,引入一个fastjson的jar来解析json,还有简单的逻辑等等代码。

    需要用到一个开源的网页小工具把json转成Javabean,地址:http://www.jsonschema2pojo.org/

    需要参照liqui交易所提供的api文档:https://liqui.io/api

    需要用到fastjson项目:https://github.com/alibaba/fastjson

    由于我并没有使用gradle构建,所以先下载fastjson的jar,创建libs文件夹,然后把jar放进去,右键选择add as library。

    本文以获取Adex行情为例,liqui提供的api是https://api.liqui.io/api/3/ticker/adx_eth,通过浏览器访问,得到返回的json报文,然后复制到jsonschema2pojo里面,生成Javabean放入项目。

    这里直接复制网页上的代码,注意可能会生成多个.java文件,需要一个个复制,然后到IDEA里,点中src,直接Ctrl + V,IDEA会自动帮我们创建好.java文件。

     

    编写Main的完整代码

    package com.xirtam.liqui.price
    
    import com.alibaba.fastjson.JSON
    import com.xirtam.liqui.price.datas.AdxEth
    import java.net.HttpURLConnection
    import java.net.URL
    
    
    /**
     * Created by xirtam on 17/7/4.
     */
    class Main {
    
    }
    
    fun main(args: Array<String>) {
        val url = "https://api.liqui.io/api/3/ticker/adx_eth"
        val userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"// 模拟浏览器
    
    
        val connection = URL(url).openConnection() as HttpURLConnection//获取到connetcion为了设置header
        connection.setRequestProperty("User-agent", userAgent)//设置header
        try {
            connection.inputStream.bufferedReader().use { reader ->
                // ... do something with the reader
                var adx = JSON.parseObject(reader.readLine(), AdxEth::class.java)//读取服务器返回数据、解析Json、存入Bean对象
                println(adx.adxEth.last)//输出结果
            }
        } finally {
            connection.disconnect()//确保链接关闭
        }
    }

    最后打包成jar

    运行

    最后提示一个功能,当你copy了一段java代码想粘贴到kotilin中时,智能的IDEA会问你要不要转换

    是不是很方便?

    还不赶紧换?

    最佳学习地址:https://try.kotlinlang.org

  • 相关阅读:
    Rotation issue in XCode 4.5 and iOS 6.0
    Core Data on iOS 5 Tutorial: How To Work with Relations and Predicates
    How To Synchronize Core Data with a Web Service – Part 2
    Unit Testing in Xcode 4 – use OCUnit and SenTest instead of GHUnit
    Migrate old project to ARC
    Core Data on iOS 5 Tutorial: Getting Started
    How To Draw Graphs with Core Plot, Part 2
    How To Use NSOperations and NSOperationQueues
    How To Save Your App Data With NSCoding and NSFileManager
    What's New in iOS
  • 原文地址:https://www.cnblogs.com/xirtam/p/7122033.html
Copyright © 2011-2022 走看看