最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kotlin 開發(fā)環(huán)境詳解及簡單實例

 更新時間:2017年06月20日 10:00:03   作者:steveyg  
這篇文章主要介紹了 Kotlin 開發(fā)環(huán)境詳解及簡單實例的相關資料,需要的朋友可以參考下

Hello Kotlin

在前段時間舉辦的Google I/O 2017上,Google宣布Kotlin成為Android官方的開發(fā)語言,這個最初發(fā)布于2011年的語言在短短的時間內(nèi)就吸引了大量的開發(fā)者,而Google使得它進入了更多人的視線。

Kotlin是一種開源的基于JVM的變成語言,由JetBeans公司開發(fā)(大概除了使用VS的.net開發(fā)者意外,都會或多或少聽說或使用過IDEA吧),名字取自圣彼得堡附近的一個小島(Koltin island)。
Kotlin是一種簡單的語言,其主要目標之一就是提供強大語言的同時又保持簡單且精簡的語法。其主要特性如下所示:
  • 輕量級:這一點對于Android來說非常重要。項目所需要的庫應該盡可能的小。Android對于方法數(shù)量有嚴格的限制,Kotlin只額外增加了大約6000個方法。
  • 互操作:Kotlin可與Java語言無縫通信。這意味著我們可以在Kotlin代碼中使用任何已有的Java庫;因此,即便這門語言還很年輕,但卻已經(jīng)可以使用成百上千的庫了。除此之外,Kotlin代碼還可以為Java代碼所用,這意味著我們可以使用這兩種語言來構建軟件。你可以使用Kotlin開發(fā)新特性,同時使用Java實現(xiàn)代碼基的其他部分。
  • 強類型:我們很少需要在代碼中指定類型,因為編譯器可以在絕大多數(shù)情況下推斷出變量或是函數(shù)返回值的類型。這樣就能獲得兩個好處:簡潔與安全。
  • Null安全:Java最大的一個問題就是null。如果沒有對變量或是參數(shù)進行null判斷,那么程序當中就有可能拋出大量的NullPointerException,然而在編碼時這些又是難以檢測到的。Kotlin使用了顯式的null,這會強制我們在必要時進行null檢查。‘
  • 更多特性可見官網(wǎng)

環(huán)境配置

對于大部分的安卓開發(fā)者而言,都是使用Android Studio(或IDEA)進行開發(fā),當然也有很小一部分人仍然堅持使用eclipse,Kotlin對他們都進行了支持,甚至是可以只是用控制臺進行編譯。本文主要介紹Android Studio下的配置。
在Android Studio的歡迎頁中,點擊右下角的"Configure",選擇"Plugin"進入插件管理界面。然后點擊“Install JetBeans Plugin..”,查找Kotlin插件,點擊Install即可安裝,成功后需要重啟Android Studio

項目的創(chuàng)建與配置
創(chuàng)建項目和創(chuàng)建普通的Android項目一樣,我們創(chuàng)建一個含有BaseActivity(命名為MainActivity)的項目,加載好之后,可以看到菜單欄Code下多了一個選項“Convert Java File to Kotlin file”。選中MainActivity.java,點擊進行convert
轉換之前的代碼MainActivity.java:
package com.steveyg.hellokotlin; 
 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 
 
public class MainActivity extends AppCompatActivity { 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
 
 } 
} 
轉換之后的代碼MainActivity.kt:
package com.steveyg.hellokotlin 
 
import android.os.Bundle 
import android.support.design.widget.FloatingActionButton 
import android.support.design.widget.Snackbar 
import android.support.v7.app.AppCompatActivity 
import android.support.v7.widget.Toolbar 
import android.view.View 
import android.view.Menu 
import android.view.MenuItem 
 
class MainActivity : AppCompatActivity() { 
 
 override fun onCreate(savedInstanceState: Bundle?) { 
  super.onCreate(savedInstanceState) 
  setContentView(R.layout.activity_main) 
 
 } 
} 
在轉換之后,Android Studio會提示Kotlin not configured,此時雖然可以編譯成功,但是kotlin是無效的,點擊Configure,根據(jù)自己的需要選擇需要配置的module即可
之后點擊Sync Now進行同步

這樣在編譯后就可以看到kotlin實現(xiàn)的部分了。
第一行代碼hello world
作為程序員的傳統(tǒng),當我們第一次接觸某種語言時,都會先寫出hello world,接下來我們便開始嘗試實現(xiàn)這個最簡單的kotlin APP。
首先,Module層的gradle中添加一行配置,然后再次通過Sync New進行同步
中添加一行配置,然后再次通過Sync New進行同步
apply plugin: 'kotlin-android-extensions' 
然后在布局文件中添加一個TextView,設置其id為textview
<TextView 
 android:id="@+id/textview" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" /> 
回到MainActivity中,增加對于布局文件的引用(比如此處我使用的是content_main.xml)
import kotlinx.android.synthetic.main.content_main.* 
之后會發(fā)現(xiàn),在onCreate里面可以直接對id進行操作(比ButterKnife綁定還方便有木有),我們設置textview的內(nèi)容為Hello world,編譯
textview.text = "hello world"; 
兼容Java
前文說過,Kotlin和Java是能夠互通的,這也給安卓開發(fā)者帶來了極大的方便,我們可以直接在現(xiàn)有的工程中使用kotlin的代碼,或者是根據(jù)它們的特性選用不同的語言,那么他們是如何互通的呢。
1)Kotlin調用Java
首先,我們創(chuàng)建一個名為Demo的Java類,里面只含有一個返回字符串的方法getType
package com.steveyg.hellokotlin.java; 
 
public class Demo { 
 public String getType(){ 
  return "Java"; 
 } 
 
} 
然后在MainActivity.kt中使用對這個類型的對象進行操作
var demo = Demo(); 
textview.text = demo.type; 
能夠看到,kotlin能夠直接使用java的內(nèi)容,同時還對getset方法進行了處理,雖然在Demo對象中沒有type這個屬性,但是檢測到了getType方法,就自動處理為type這個屬性,其他的方法名(不含getset)能夠正常使用不會處理。
對工程進行編譯,可以看到內(nèi)容如下圖

我們看到textview的內(nèi)容變成了Java.
2)Java調用kotlin
創(chuàng)建一個Kotlin類,命名為KotlinDemo
package com.steveyg.hellokotlin.kotlin 
 
class KotlinDemo { 
 fun getType(): String{ 
  return "Kotlin"; 
 } 
} 
再在上文的Java類(Demo.java)中增加一個方法,用于調用kotlin
public String getKotlinType(){ 
 return new KotlinDemo().getType(); 
} 
然后再在MainActivity中進行調用
textview.text = demo.kotlinType; 
再次編譯,結果見下圖
可以看到,內(nèi)容變成了Kotlin,說明調用成功。
其他
相比于Java,Kotlin的語法確實簡潔了不少,更像是一種腳本語言,對于那些習慣JavaScript和Python的開發(fā)者應該更容易上手。
本文中所有代碼見github,想要更深的了解Kotlin,可參考Kotlin官網(wǎng)以及開發(fā)文檔

本文代碼:http://xiazai.jb51.net/201706/yuanma/helloKotlin-master(jb51.net).rar

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • java Future 接口使用方法詳解

    java Future 接口使用方法詳解

    這篇文章主要介紹了java Future 接口使用方法詳解,F(xiàn)uture接口是Java線程Future模式的實現(xiàn),可以來進行異步計算的相關資料,需要的朋友可以參考下
    2017-03-03
  • 從Spring遷移到Spring Boot的方法步驟

    從Spring遷移到Spring Boot的方法步驟

    這篇文章主要介紹了從Spring遷移到Spring Boot的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • Java數(shù)據(jù)結構徹底理解關于KMP算法

    Java數(shù)據(jù)結構徹底理解關于KMP算法

    這篇文章主要介紹了Java數(shù)據(jù)結構關于KMP算法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Spring Boot 員工管理系統(tǒng)超詳細教程(源碼分享)

    Spring Boot 員工管理系統(tǒng)超詳細教程(源碼分享)

    這篇文章主要介紹了Spring Boot 員工管理系統(tǒng)超詳細教程(源碼分享),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • Java8中的類型注解淺析

    Java8中的類型注解淺析

    這篇文章主要介紹了Java8中的類型注解淺析,java8之前,注解只能是在聲明的地方所使用,java8里面的注解則可以應用在任何地方,需要的朋友可以參考下
    2014-06-06
  • 修改Maven settings.xml 后配置未生效的解決

    修改Maven settings.xml 后配置未生效的解決

    這篇文章主要介紹了修改Maven settings.xml 后配置未生效的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • springboot如何使用MybatisPlus

    springboot如何使用MybatisPlus

    MyBatisPlus是一個強大的數(shù)據(jù)庫操作框架,其代碼生成器可以快速生成實體類、映射文件等,本文介紹了如何導入MyBatisPlus相關依賴,創(chuàng)建代碼生成器,并配置數(shù)據(jù)庫信息以逆向生成代碼,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Java實現(xiàn)訂單超時自動取消的7種方案

    Java實現(xiàn)訂單超時自動取消的7種方案

    在電商、外賣、票務等系統(tǒng)中,訂單超時未支付自動取消是一個常見的需求,這個功能乍一看很簡單,甚至很多初學者會覺得:"不就是加個定時器么?" 但真到了實際工作中,細節(jié)的復雜程度往往會超乎預期,本文給大家介紹了Java實現(xiàn)訂單超時自動取消的7種方案
    2024-12-12
  • Shiro中session超時頁面跳轉的處理方式

    Shiro中session超時頁面跳轉的處理方式

    這篇文章主要介紹了Shiro中session超時頁面跳轉的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java實現(xiàn)簡單點贊功能

    java實現(xiàn)簡單點贊功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單點贊功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論

永州市| 安康市| 教育| 石柱| 敦化市| 仙桃市| 溧阳市| 曲周县| 游戏| 固镇县| 张家港市| 清苑县| 西安市| 民县| 东辽县| 临颍县| 南康市| 甘孜| 利辛县| 新邵县| 老河口市| 贵南县| 汶川县| 朝阳县| 乌审旗| 天台县| 永川市| 白玉县| 苍山县| 威海市| 新郑市| 文水县| 平阳县| 淅川县| 沁水县| 澳门| 将乐县| 和政县| 宿州市| 长宁县| 卢湾区|