編輯:關於Android編程
正文開始:
對於開發者來說,我們正處於一個美好的時代。得益於互聯網的發展、工具的進步,我們現在學習一門新技術的成本和難度都比過去低了很多。
假設你之前沒有使用過Kotlin,那麼從頭開始寫一個HelloWorld的app也只需要這麼幾步:
我正在用的是2.2.1版本,其它版本應該也大同小異。
依次打開:Android Studio > Preferences > Plugins,然後選擇『Browse repositories』,在搜索框中搜索Kotlin,結果列表中的『Kotlin』插件,就是我們要找的目標了。
點擊安裝,安裝完成之後,重啟Android Studio。
重新打開Android Studio,新建一個Android項目吧,添加一個默認的MainActivity
——像以前一樣即可。
安裝完插件的AndroidStudio現在已經擁有開發Kotlin的新能力了,那麼如何體現這個能力呢?
我們先來嘗試它的轉換功能:Java -> Kotlin,可以把現有的java文件翻譯成Kotlin文件。
打開MainActivity文件,在Code菜單下面可以看到一個新的功能:Convert Java File to Kotlin File。
點擊轉換,可以看到結果:
java文件:MainActivity.java
package com.barryzhang.kotlinhello; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
轉換後的Kotlin文件:MainActivity.kt
package com.barryzhang.kotlinhello import android.support.v7.app.AppCompatActivity import android.os.Bundle class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }
Kotlin的轉換功能是十分實用的,對於我們重用過去的java代碼、或者網上搜索到的java代碼片段很有幫助。(當然,Kotlin是直接兼容java的,如果不想轉換,也可以直接調用Java的方法)
MainActivity已經被轉換成了Kotlin實現,但是項目目前還不可以用,還需要配置一下,讓項目支持grade的編譯、運行。
當然,這一步也不需要我們做太多工作——在java轉換成Kotlin之後,打開MainActivity.kt文件,編譯器會提示”Kotlin not configured”,點擊一下Configure按鈕,IDE就會自動幫我們配置好了!(所以說Kotlin的工具完善可不是吹的,畢竟Kotlin的老爹JetBrains就是專門做工具的啊)
這個自動配置,實際上是做了這些改動。
項目的build.gradle添加:
buildscript { ext.kotlin_version = '1.0.4' dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
module裡的build.gradle添加:
apply plugin: 'kotlin-android' android { sourceSets { main.java.srcDirs += 'src/main/kotlin' } } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } repositories { mavenCentral() }
↑↑↑ 熟悉了之後自己手寫也是闊以的。
配置之後,等sync完成,就可以運行了~ (如果你sync失敗或者耗時過長,趕緊檢討一下自己有沒有科學上網?)
biu~起飛,歡迎來到新世界的大門。
前言最近要實現個圓角邊框的對話框設計圖,查了網上很多種實現,都差不多,從中得到靈感,實現了另一種方式,利用layer-list:先來看看實現的效果如下:首先在drawab
下面是HTC官方的一個圖片,展示了Android系統從發布最終到用戶手中的一個完整的過程: Awesome Infographic: HTC Shows Us “Th
handler在Android中被稱為“消息處理者”,在多線程中比較常用。Handler為Android提供了一種異步消息處理機制,當向消息隊列中發送消息 (sendMe
前言上一篇我們講到了EventBus3.0的用法,這一篇我們來講一下EventBus3.0的源碼以及它的利與弊。1.構造函數當我們要調用EventBus的功能時,比如注冊