使用Kotlin開(kāi)發(fā)Android應(yīng)用教程
使用Kotlin開(kāi)發(fā)Android應(yīng)用
1、Kotlin介紹
[Kotlin](https://kotlinlang.org/)
Kotlin是一門(mén)基于JVM的編程語(yǔ)言,它正成長(zhǎng)為Android開(kāi)發(fā)中用于替代Java語(yǔ)言的繼承者。Java是世界上使用最多的編程語(yǔ)言之一,當(dāng)其他編程語(yǔ)言為更加便于開(kāi)發(fā)者使用而不斷進(jìn)化時(shí),Java并沒(méi)有像預(yù)期那樣及時(shí)跟進(jìn)。
Java缺失的很多特性在最新的修訂版中逐漸覆蓋到了,但Android開(kāi)發(fā)者暫時(shí)還沒(méi)能夠使用它們。這就使得類(lèi)似Kotlin這樣的語(yǔ)言有了用武之地了:在舊的開(kāi)發(fā)環(huán)境中使用現(xiàn)代語(yǔ)言的特性。
Kotlin是什么?
Kotlin是由JetBrains創(chuàng)建的基于JVM的編程語(yǔ)言,IntelliJ正是JetBrains的杰作,而Android Studio是基于IntelliJ修改而來(lái)的。Kotlin是一門(mén)包含很多函數(shù)式編程思想的面向?qū)ο缶幊陶Z(yǔ)言。
Kotlin生來(lái)就是為了彌補(bǔ)Java缺失的現(xiàn)代語(yǔ)言的特性,并極大的簡(jiǎn)化了代碼,使得開(kāi)發(fā)者可以編寫(xiě)盡量少的樣板代碼。
2、配置工程
新建一個(gè)Project “MyKotlin”
在項(xiàng)目的build.gradle上添加kotlin版本號(hào)
// Top-level build file where you can add configuration options common to all sub-projects/modules. ext.kotlin_version = "1.0.0-rc-1036" buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
在module中的build.gradle添加kotlin的依賴
buildscript { repositories { jcenter() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
再添加對(duì)android的支持
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
再添加java的編譯路徑,在main下創(chuàng)建kotlin目錄 并在gradle文件寫(xiě)上
完整的build.gradle如下
buildscript { repositories { jcenter() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.example.mykotlin" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main.java.srcDirs += 'src/main/kotlin' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" }
代碼如圖所示
3、代碼轉(zhuǎn)換
可以選擇MainActivity 然后選擇code–>>Convert Java File to Kotlin File …
然后將生成的文件kt 剪切到kotlin目錄下。
kt 代碼如下
package com.example.mykotlin import android.support.v7.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) tv.text = "Hello MyKotlin" tv.textSize = 20.0f } }
最終運(yùn)行如圖所示:
4、例子下載
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android Kotlin的使用及簡(jiǎn)單實(shí)例
- kotlin 官方學(xué)習(xí)教程之基礎(chǔ)語(yǔ)法詳解
- Kotlin 開(kāi)發(fā)環(huán)境詳解及簡(jiǎn)單實(shí)例
- Android Kotlin開(kāi)發(fā)實(shí)例(Hello World!)及語(yǔ)法詳解
- 五分鐘教你Android-Kotlin項(xiàng)目編寫(xiě)
- Kotlin開(kāi)發(fā)Android應(yīng)用實(shí)例詳解
- 使用Kotlin開(kāi)發(fā)Android應(yīng)用的初體驗(yàn)
- 如何利用Kotlin實(shí)現(xiàn)極簡(jiǎn)回調(diào)
相關(guān)文章
android采用FFmpeg實(shí)現(xiàn)音頻混合與拼接剪切
這篇文章主要為大家詳細(xì)介紹了android采用FFmpeg實(shí)現(xiàn)音頻混合與拼接剪切,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12Android實(shí)現(xiàn)讀取NFC卡的編號(hào)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)讀取NFC卡的編號(hào),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Android checkbox的listView(多選,全選,反選)具體實(shí)現(xiàn)方法
由于listview的一些特性,剛開(kāi)始寫(xiě)這種需求的功能的時(shí)候都會(huì)碰到一些問(wèn)題,重點(diǎn)就是存儲(chǔ)每個(gè)checkbox的狀態(tài)值,在這里分享出了完美解決方法:2013-06-06Android使用ViewDragHelper實(shí)現(xiàn)圖片下拽返回示例
這篇文章主要介紹了Android使用ViewDragHelper實(shí)現(xiàn)圖片下拽返回示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Android簡(jiǎn)單記錄和恢復(fù)ListView滾動(dòng)位置的方法
這篇文章主要介紹了Android簡(jiǎn)單記錄和恢復(fù)ListView滾動(dòng)位置的方法,涉及Android針對(duì)ListView位置屬性的相關(guān)操作技巧,需要的朋友可以參考下2016-08-08Android 監(jiān)聽(tīng)鎖屏、解鎖、開(kāi)屏 功能代碼
這篇文章主要介紹了Android 監(jiān)聽(tīng)鎖屏、解鎖、開(kāi)屏 功能代碼的相關(guān)資料,需要的朋友可以參考下2016-06-06詳解Android WebView的input上傳照片的兼容問(wèn)題
本篇文章主要介紹了詳解Android WebView的input上傳照片的兼容問(wèn)題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-08-08Android 安全加密:對(duì)稱(chēng)加密詳解
本文主要介紹Android 安全加密對(duì)稱(chēng)加密,這里整理了詳細(xì)的資料及介紹凱撒密碼和對(duì)稱(chēng)密碼的資料,有興趣的小伙伴可以參考下2016-09-09Android中ShapeableImageView使用實(shí)例詳解(告別shape、三方庫(kù))
之前Google推送了文章,Android?Material組件1.2.0里面就有ShapeableImageView,不用像以前再寫(xiě)shape,下面這篇文章主要給大家介紹了關(guān)于Android中ShapeableImageView使用的相關(guān)資料,需要的朋友可以參考下2022-09-09