diadia

興味があることをやってみる。自分のメモを残しておきます。

言語Kotlinのメモ

Kotlin入門時に読んだ本

書籍名 リソース
Kotlin入門までの助走読本 https://drive.google.com/file/d/0Bylpznm149-gTGRjOFRkWm9PODg/view

変数について

変数は2種類ある。
varとvalである。valを使う場合には変数の再代入ができない。

配列の変数を定義する場合

#pythonの場合

a_list = [1,2,3,4]
#又は
a_list = list(1,2,3,4)
//Kotlinの場合

val a_list: Array<Int> = arrayOf(1,2,3,4)

kotlinではarrayOfの他にlistOfもある。これの違いは何なのだろうか。。。
https://minpro.net/kotlin-array-2
上記によると以下のようになるようだ。

データ型 要素を変えられる 素数を変更できる pythonとの関係
List X X pythonのtuppleと同じ性質
Array X
ArrayList pythonのlistと同じ性質

kotlinには可視性修飾子なるものがある

https://dogwood008.github.io/kotlin-web-site-ja/docs/reference/visibility-modifiers.html
kotlinには4つの可視性修飾子があるようだ。それはprivate, protected, internal, publicの4つである。デフォルトではpublicになる。
わからないのはこれがなんの目的で使われ、どんなタイミングで使われるかだ。 これに関して調べて更新しようと思う。

Kotlinでは protected なメンバは、そのクラスとサブクラスからのみ参照可能となっている。

httpを使う場合

非同期処理専用のクラスがある。その中の一つにAsyncTaskがある。

https://developer.android.com/reference/kotlin/android/os/AsyncTask

https://developer.android.com/reference/kotlin/android/os/AsyncTask#doinbackground

https://developer.android.com/reference/kotlin/android/os/AsyncTask#onpostexecute

https://developer.android.com/reference/kotlin/android/os/AsyncTask#execute_1

kotlinのオーバーライドについて

kotlinでは、オーバーライドする際にメソッドシグネチャに"override"という文言を付す決まりがある。pythonにはなかった決まりだ。

AdapterViewについて

AdapterViewはListViewやSpinnerの親クラス。

Adapterクラスについて

ArrayAdapterは簡単に使うことができる。SimpleAdapterのイメージは柔軟なリストビューを作る事ができる。

メンバ関数

メソッドとも言うようだ。https://kotobank.jp/word/%E3%83%A1%E3%83%B3%E3%83%90%E9%96%A2%E6%95%B0-10842
関数とメソッドの宣言の仕方は同じようだ。クラス内で宣言するものだけをメソッドと呼ぶらしい。https://qiita.com/k5n/items/cc0377b75d8537ef8a85#%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89