class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { ... // todo: singleton? val preference = SecurePreferences.create(this@MainActivity) binding.btnSave.setOnClickListener { val code = binding.etSecretCode.text.toString() val msg = binding.etSecretMsg.text.toString() preference.saveString(code, msg) } binding.btnGet.setOnClickListener { val code = binding.etCode.text.toString() val msg = preference.getString(code) if (msg == null) { Toast.makeText( this@MainActivity, "No secret message stored with code: $code", Toast.LENGTH_SHORT ).show() } else { binding.tvMsg.text = msg } } binding.btnClear.setOnClickListener { preference.clearPreferences() Toast.makeText( this@MainActivity, "All Clear", Toast.LENGTH_SHORT ).show() } } }