잠깐 access_mode에 대해서 짚고 넘어가면
보통은 MODE_PRIVATE을 사용하는데, 이 설정은 다른 애플리케이션은 접근이 불가하고, 오직 이 SharedPreference를 만든 애플리케이션만 접근이 가능하게 한다. MODE_WORLD_READABLE은 다른 애플리케이션도 읽기를 허용하는 권한이고, MODE_WORLD_WRITABLE은 다른 애플리케이션도 쓰기를 허용하는 권한이다.
al pref = this.getPreferences(0)
val editor = pref.edit()
/* context.getPreferences의 SharedPreferences 인스턴스를 저장.
(0은 (Context.MODE_PRIVATE)와 같음)
에디터를 호출해 editor로 초기화. */
mainEt.setText(pref.getString("MessageKey", ""))
/* mainEt(EditText)의 텍스트를 "MessageKey"에 해당하는 vaule로 설정.
값을 불러오지 못했을 경우, default vaule는 ""로 지정. */
mainBtn.setOnClickListener {
editor.putString("MessageKey", mainEt.text.toString()).apply()
/ mainBtn(Button) 클릭하면 "MessageKey"에 해당하는 String 데이터를 mainEt에서 불러와 저장. /
val msg = pref.getString("MessageKey", "")
if (msg == "") {
Toast.makeText(this, "텍스트가 초기화되었습니다.", Toast.LENGTH_LONG).show()
} else {
Toast.makeText(this, "저장됨: $msg", Toast.LENGTH_LONG).show()
}
/* 값 저장 후 Toast 출력 */