この記事では、主に Kotlin 構文の学習変数定義、関数拡張、Parcelable シリアル化、およびその他の簡単にまとめられた関連資料を紹介します。必要な友人は参照してください
Kotlin 構文学習変数定義、関数拡張、Parcelable シリアル化など。簡単な概要
今年の Google I/O 2017 開発者カンファレンスで、Google は Android 開発者として、Android プログラムの公式ファーストクラス開発言語 (ファーストクラス言語) に Kotlin を正式に組み込んだと発表しました。もちろん、言語を学ぶための最初のステップは、文法から始めることです。
その前に、Kotlin を使用して Android アプリケーションを作成する方法を理解する必要があります。 Android Studio 3.0 バージョンの場合、プロジェクトの作成時に Include Kotlin サポート オプションを直接チェックできます。3.0 より前のバージョンの場合、Kotlin プラグインをインストールし、手動で Gradle を設定する必要があります。方法は次のとおりです。 app プロジェクトのgradle配下に以下のコードを追加
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
プロジェクトのgradle配下に以下のコードを追加
ext.kotlin_version = '1.1.2-3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
具体的な構文はfun + type.function(parameter)
fun Context.toast(message: String, length: Int = Toast.LENGTH_SHORT) { Toast.makeText(this, message, length).show() }
package com.john.kotlinstudy
import android.os.Parcel
import android.os.Parcelable
/**
* Java Bean 数据实体类
* Created by john on 17-5-24.
*/
data class UserBean(var name: String, var id: String) : Parcelable {
constructor(source: Parcel) : this(source.readString(), source.readString())
override fun describeContents(): Int {
return 0
}
override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeString(this.name)
dest.writeString(this.id)
}
companion object {
@JvmField val CREATOR: Parcelable.Creator<UserBean> = object : Parcelable.Creator<UserBean> {
override fun createFromParcel(source: Parcel): UserBean {
return UserBean(source)
}
override fun newArray(size: Int): Array<UserBean?> {
return arrayOfNulls(size)
}
}
}
}
、 Kotlin では、クラスに静的メソッドがありません。ほとんどの場合、静的メソッドの代わりにパッケージレベルの関数を使用することをお勧めします。
Java では、ツール クラスは、実際には String、Collection、IO などの一般的なクラスの関数の拡張です。私たちが記述するツール クラスのメソッドと変数は静的に記述されます。ツール クラスの属性や変数を含まずにこれらのメソッドを呼び出すだけなので、インスタンス化する必要はありません (new) インスタンス化する必要がないため、静的を使用するだけです。
package com.john.kotlinstudy import android.content.Context import android.widget.Toast /** * Toast工具类 * Created by john on 17-5-24. */ object ToastUtils { fun toast(context: Context, message: String) { Toast.makeText(context, message, Toast.LENGTH_SHORT).show() } }
MainActivityにクリックイベントを設定し、別のアクティビティにジャンプしてデータを渡します
package com.john.kotlinstudy import android.content.Context import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) test_tv.text = "hello kotlin" test_tv.setOnClickListener { ToastUtils.toast(this, "hello kotlin") val user = UserBean("zhang", "001") user.id = "100" SecondActivity.navigateTo(this, user) } } fun Context.toast(message: String, length: Int = Toast.LENGTH_SHORT) { Toast.makeText(this, message, length).show() } }
次に、SecondActivityを作成し、アクティビティジャンプの静的メソッドを提供します。これを行う利点は、呼び出し元がソース コードを見なくてもどのパラメータが必要かを知ることができることであることは、誰もが知っているはずです。 java に従って書くと、static キーワードがないことがわかります。パニックにならないでください。コンパニオン オブジェクトを使用してこれを実現できます。コンパニオン オブジェクトは、このクラスの宣言サイクルに付随するオブジェクトです。
package com.john.kotlinstudy import android.content.Context import android.content.Intent import android.os.Bundle import android.support.v7.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_second.* /** * 跳转Activity测试类 * Created by john on 17-5-24. */ class SecondActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_second) val user = intent.getParcelableExtra<UserBean>(EXTRA_KEY_USER) user_name_tv.text = user.name ToastUtils.toast(this, user.id) } //创建一个伴生对象 companion object { //extra的key val EXTRA_KEY_USER = "extra.user" fun navigateTo(context: Context, user: UserBean) { val intent = Intent(context, SecondActivity::class.java) intent.putExtra(EXTRA_KEY_USER, user) context.startActivity(intent) } } }
上記は、kotlin のいくつかの文法機能の簡単な紹介であり、この新しい言語に慣れていないという不安を解消するための入門とみなすことができます。実際、kotlin には多くの新機能があります。開発中はまだゆっくりと消化して理解する必要があります。
【関連する推奨事項】
1.
JavaScript を使用してカスタム関数に基づいて変数の型を決定する方法 Java でオブジェクトを作成する方法の詳細以上がKotlin 構文学習のまとめ – 変数定義、関数拡張、Parcelable シリアル化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。