getSharedPreferencesを用いて値の格納をしたいと考えています。
以下のコードで実行した結果成功しました。
kotlin
1class MainActivity : AppCompatActivity() { 2 3 override fun onCreate(savedInstanceState: Bundle?) { 4 super.onCreate(savedInstanceState) 5 setContentView(R.layout.activity_main) 6 7 val editor = getSharedPreferences("Data", Context.MODE_PRIVATE).edit() 8 editor.putString("key", "test") 9 editor.apply() 10 } 11} 12
次に、MainActivitiyクラスとは別のUtilityクラスを呼び出してgetSharedPreferencesを用いて値の格納をしたいと考え以下の記載に変更しました。
kotlin
1class MainActivity : AppCompatActivity() { 2 3 override fun onCreate(savedInstanceState: Bundle?) { 4 super.onCreate(savedInstanceState) 5 setContentView(R.layout.activity_main) 6 7 val util = Utility() 8 util.putSharedPreferencesString("Data", "key", "test") 9 } 10} 11
kotlin
1class Utility : AppCompatActivity() { 2 fun putSharedPreferencesString(data: String, key: String, str: String) { 3 val editor = getSharedPreferences(data, Context.MODE_PRIVATE).edit() 4 editor.putString(key, str) 5 editor.apply() 6 } 7} 8
この時以下の部分でNullPointExceptionが発生しました
val editor = getSharedPreferences(data, Context.MODE_PRIVATE).edit()
なぜ別クラスに分けるとエラーが発生したのでしょうか?またどうすれば解決することができるでしょうか?お力添えをお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/07 06:18