Blog スタッフブログ

Android システム開発

[Android][Kotlin]クラスや配列を内部保存する方法

システム開発担当のTFです。

※Android10対応(他バージョンの場合、細かい部分等が異なる事があります)

やり方

  • Gsonライブラリを読み込む
  • 保存時にGsonを用い、json化して保存する
  • 利用時にGsonを用い、jsonからオブジェクト化する

参考

  SharedPreferencesに手軽にいろいろ保存する

サンプル

dependencies {
	// Gson読み込みの追加
	implementation 'com.google.code.gson:gson:2.9.1'
}
// テスト用クラス
data class Test(
    val cnt:Int
    val string:String
)
// クラス作成
var test = Test(1,"test")

// 保存
var prefs:SharedPreferences = getSharedPreferences("SaveData",Context.MODE_PRIVATE)
prefs.edit().putString("test", Gson().toJson(test)).apply()

// 読み込み
var readTest:Test? = Gson().fromJson(prefs.getString("test",null), object : TypeToken<Test?>() {}.type)