前言
這篇文章之前發(fā)布在CSDN博客上面巢块,但是前一段時間因?yàn)橐恢焙苊Γ瑳]時間去學(xué)習(xí)和整理文章,這段時間剛好比較有時間再菊,所有就在簡書上開始新的一段學(xué)習(xí)之旅。
Kotlin于3月1號發(fā)布1.1正式版颜曾。
Kotlin 1.1 Released with JavaScript Support, Coroutines and more
什么是Kotlin纠拔?
Kotlin是針對JVM、Android 和瀏覽器的靜態(tài)編程語言泛豪!
100% 與 Java? 可互操作稠诲!
Kotlin在Android上的使用
Kotlin可以直接將布局的id
來當(dāng)成變量使用:
override fun onBindViewHolder(holder: RecyclerView.ViewHolder?, position: Int) {
if (holder is TitleHolder) {
// 分類
holder.itemView.new_item_title.text = mDatas?.get(position)?.type
} else if (holder is ContentViewHolder) {
with(holder.itemView) {
// 名稱
new_item_text.text = mDatas?.get(position)?.desc
// 作者
new_item_user.text = mDatas?.get(position)?.who.let { Constant.NEW_ITEM_USER_NULL }
}
// 點(diǎn)擊
holder.itemView?.setOnClickListener {
onClick ->
val intent = Intent(mContext, DetailActivity::class.java)
val data = Bundle()
data.putString(Constant.URL, mDatas?.get(position)?.url)
intent.putExtras(data)
mContext?.startActivity(intent)
}
}
}
Java在寫B(tài)ean類的時候是這樣寫的
public class DataTypeBean {
private boolean error;
private List<ResultsBean> results;
public boolean isError() {
return error;
}
public void setError(boolean error) {
this.error = error;
}
public List<ResultsBean> getResults() {
return results;
}
public void setResults(List<ResultsBean> results) {
this.results = results;
}
public static class ResultsBean { ... }
}
而在Kotlin中直接用數(shù)據(jù)類(Data Classes)寫
// DataTypeBean類
data class DataTypeBean(var error: Boolean = false, var results: MutableList<ResultsBean>? = null)
// ResultsBean類
data class ResultsBean(var _id: String? = null, var createdAt: String? = null,
var desc: String? = null, var publishedAt: String? = null,
var source: String? = null, var type: String? = null,
var url: String? = null, var used: Boolean = false,
var who: String? = null, var images: MutableList<String>? = null)
是不是很方便,很簡潔诡曙,下面就介紹如何安裝Kotlin插件
Kotlin的插件安裝
Settings->Plugins->Browse Repositories->搜索Kotlin
項(xiàng)目添加Kotlin(Android Studio)
已存在的項(xiàng)目直接轉(zhuǎn)換為Kotlin
Code->Convert Java file to Kotlin file
-
轉(zhuǎn)換完成后臀叙,會要求配置Kotlin
-
選擇Modules和Kotlin的版本
-
Sync Gradle
- 轉(zhuǎn)換后的文件,會有些語法之類的錯誤价卤,這個后面再說
新建項(xiàng)目
-
Project的gradle
- 在
buildscript
里面添加kotlin的版本劝萤,當(dāng)前是1.0.4ext.kotlin_version = '1.0.4'
- 在
dependencies
里面添加Kotlin依賴classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- 在
-
Module的gradle
- 添加
apply plugin
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
- 在
dependencies
添加依賴
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
- 添加
運(yùn)行app