既然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