Kotlin開發Android系列(一)——初識Kotlin

Kotlin 編程語言 Gradle Java IT優就業 2017-05-22

5月18日消息 據外媒(TechCrunch)報道,谷歌在今日舉行的I/O開發者大會上宣佈,將Kotlin語言作為安卓開發的一級編程語言。Kotlin由JetBrains公司開發,與Java 100%互通,並具備諸多Java尚不支持的新特性。

Kotlin開發Android系列(一)——初識Kotlin

Kotlin簡單的說就是跑在jvm上的新語言,他的特點就是短小快。

  • 無縫對接java,java代碼和kotlin代碼互相調用

  • 一鍵java轉kotlin,java代碼,可以一鍵轉換

  • 函數擴展功能

    Kotlin從書寫上來說非常爽,語法糖的確減少了很多時間以及代碼量, 但是-再牛逼的語法解決不了傻逼的業務和邏輯需求。

下面讓我們來了解一下如何使用Kotlin:

創建第一個kotlin應用!

首先打開你的AS,像往常一樣,創建一個Android應用。

然後在Setting裡找到Plugin選項,搜索kotlin插件。從官方倉庫下載安卓即可。

Kotlin開發Android系列(一)——初識Kotlin

在app的gradle下加入如下代碼

apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'

Kotlin開發Android系列(一)——初識Kotlin

在project的gradle下加入如下代碼

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"dependencies {compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"

Kotlin開發Android系列(一)——初識Kotlin

好了,配置好了,切換到MainActivity 同時按下ctrl + alt + shift + k (windows下),cmd + alt + shift + k (mac下),即可把java代碼轉換成kotlin代碼。

轉換前:

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

轉換後:

class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)

這些是語法的變化

下面給出中文語法文檔

Kotlin開發Android系列(一)——初識Kotlin

這裡是下載地址

真TM是個好的糖炒栗子

來,讓我們來上一下它。

<TextView

在代碼中改變文字設置:

main_text.setText(R.string.kotlin)//或者用下面方法main_text.text=("PowerFullKotlin")

WHAT???怎麼不需要findviewbyid()???

kotlin可以直接根據id找到控件,而避免findviewbyid,這時候你需要注意一下import頭

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

kotlin一個特性,所有getter和setter可以省略,直接變為 .text

下面讓我們看一下點擊事件的設置

函數擴展是什麼?一般來說,我們擴展一個類,需要繼承,但是kotlin。。。。

函數擴展可以讓你對任意類進行擴展,而不用繼承等等複雜的操作。

示例:給一張圖片設置點擊事件彈出Toast

<ImageView

上實現方式:

main_pic.setOnClickListener { toast("Hello Kotlin") }

我們新建個kt文件,叫做ToastExt

裡面寫上如下代碼:

fun Context.toast(mess: String,length : Int = Toast.LENGTH_SHORT) {

加了Context這句,就可以在所有Context類型中使用toast這個函數了。具體的語法是 fun + 類型.函數(參數)

來看一下第二個參數,可以給默認值,如果參數不傳,則自動調用默認值,重載!!!

main_pic.setOnClickListener { toast("Hello Kotlin") }

是不是超級終極簡單呢?是不是想趕快轉來kotlin啊?

下面附gayhub地址(這個項目專門用來更新Kotlin有關Demo): https://github.com/Shanlovana/Consonle

想了解更多IT知識,更多就業知識可關注:

優就業官網:http://www.ujiuye.com/

優就業就業促進計劃:http://www.ujiuye.com/zt/jycj/?wt.bd=zy35844

在線視頻學習:http://xue.ujiuye.com/

相關推薦

推薦中...