사용자가 값을 입력하였을때 저장하는 방법 중 하나
activity_main.xml
<EditText
android:layout_width="494dp"
android:layout_height="65dp"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/editText"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintVertical_bias="0.203"/>
<Button
android:text="프리퍼런스 쓰기"
android:layout_width="498dp"
android:layout_height="59dp" android:id="@+id/write"
app:layout_constraintTop_toBottomOf="@+id/editText"
android:layout_marginTop="64dp" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="52dp"/>
<Button
android:text="다음 화면으로 이동"
android:layout_width="498dp"
android:layout_height="59dp" android:id="@+id/move"
app:layout_constraintTop_toBottomOf="@+id/editText"
android:layout_marginTop="160dp" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="52dp"/>
activity_second.xml
<TextView
android:text="TextView"
android:textSize="30dp"
android:layout_width="329dp"
android:layout_height="66dp" android:id="@+id/textView"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.501" app:layout_constraintVertical_bias="0.226"/>
<Button
android:text="프리퍼런스 읽기"
android:layout_width="482dp"
android:layout_height="76dp" android:id="@+id/read"
app:layout_constraintTop_toBottomOf="@+id/textView"
android:layout_marginTop="76dp" app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="56dp"/>
Mainactivity(데이터를 preference에 저장하는 부분)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val write = findViewById<Button>(R.id.write)
val move = findViewById<Button>(R.id.move)
val edit = findViewById<EditText>(R.id.editText)
write.setOnClickListener {
// preference로 데이터 불러옴, pref를 통해 preference에서 문자열을 찾아옴, MODE_PRIVATE: 덧씌우기
val pref = getSharedPreferences("pref", MODE_PRIVATE)
// preference를 초기화
val editor = pref.edit()
// edtior에 데이터 기록, mydata는 데이터를 옮기는데 사용
editor.putString("mydata", edit.text.toString())
// 데이터 저장
editor.commit()
edit.setText("")
}
move.setOnClickListener {
val i = Intent(this, SecondActivity::class.java)
startActivity(i)
}
}
}
SecondActivity(데이터를 불러와 출력하는 부분)
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
val read = findViewById<Button>(R.id.read)
val textView = findViewById<TextView>(R.id.textView)
read.setOnClickListener {
val pref = getSharedPreferences("pref", MODE_PRIVATE)
textView.text = pref.getString("mydata", "")
}
}
}
'안드로이드' 카테고리의 다른 글
[Android] SQLite (0) | 2022.04.02 |
---|---|
[Android] Singleton (0) | 2022.03.31 |
[Android] Json (0) | 2022.03.31 |
[Android] File(추후 작성) (0) | 2022.03.31 |
[Android] Clock (0) | 2022.03.28 |
댓글