facebook twitter hatena line email

Android/kotlin/singleton

提供: 初心者エンジニアの簡易メモ
2020年2月14日 (金) 13:50時点におけるAdmin (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

singletonサンプル

companion objectを使うパターン

MainActivity.kt

HogeSingleton.setName("hogehoge")
Log.i("test", "HogeSingleton.getName()=" + HogeSingleton.getName()) // hogehoge

HogeSingleton.kt

class HogeSingleton {
    companion object {
        private var name = ""
        fun setName(name: String) {
            this.name = name
        }
        fun getName(): String {
            return this.name
        }
    }
}

Classを使うパターン

仮にclass名をInstanceとした。

MainActivity.kt

HogeSingleton.Instance.setName("hogehoge")
Log.i("test", "HogeSingleton.getName()=" + HogeSingleton.Instance.getName()) // hogehoge

HogeSingleton.kt

class HogeSingleton {
    object Instance {
        private var name = ""
        fun setName(name: String) {
            this.name = name
        }
        fun getName(): String {
            return this.name
        }
    }
}