이번 시간에는 앱에서 아이디, 패스워드를 한번 입력하면
나중에 들어왔을 때 정보가 사라지지 않는 방법을 알아보겠습니다.
- 설명 -
1. 아이디 입력하는 EditText
2. 비밀번호 입력하는 EditText
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/idEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:hint="아이디 입력"
android:inputType="text"
android:textSize="20sp" />
<EditText
android:id="@+id/passEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="비밀번호 입력"
android:inputType="textPassword"
android:textSize="20sp" />
</LinearLayout>
- 설명 -
1. val pref: SharedPreferences
간단한 데이터 저장하기 위한 객체
2. val editor: SharedPreferences.Editor
공유 환경 설정 파일에 저장하기 위한 객체
3. editor.putString("id", id)
키값과 값을 한 쌍으로 저장
4. pref.getString("id", "")
저장한 데이터 키값으로 불러오기
class MainActivity : AppCompatActivity() {
lateinit var idEdit: EditText
lateinit var passEdit: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//초기화
idEdit = findViewById(R.id.idEdit)
passEdit = findViewById(R.id.passEdit)
}//onCreate()
/**
* 화면 없어지면 실행
*/
override fun onStop() {
super.onStop()
//정보 저장
saveData()
}
/**
* 화면 보여지면 실행
*/
override fun onResume() {
super.onResume()
//정보 불러오기
restoreData()
}
/**
* 정보 저장
*/
private fun saveData(){
//저장 객체
val pref: SharedPreferences = getSharedPreferences("pref", Activity.MODE_PRIVATE)
val editor: SharedPreferences.Editor = pref.edit()
//정보 변수에 담기
val id = idEdit.text.toString()
val pw = passEdit.text.toString()
//저장
editor.putString("id", id)
editor.putString("pw", pw)
editor.commit()
}
/**
* 정보 불러오기
*/
private fun restoreData(){
val pref: SharedPreferences = getSharedPreferences("pref", Activity.MODE_PRIVATE)
if(pref != null){
//정보 변수에 담기
val id = pref.getString("id", "")
val pw = pref.getString("pw", "")
//화면에 보여주기
idEdit.setText(id)
passEdit.setText(pw)
}
}
}
2022.09.19 - [안드로이드] - [안드로이드] RecyclerView 홀수 행, 짝수 행 별 색상 다르게 하는 방법
2022.09.20 - [안드로이드] - [안드로이드 코틀린] 코드(MainActivity)에서 배경 색상 바꾸는 다양한 방법
2022.09.13 - [안드로이드] - [안드로이드 코틀린] 액티비티(Activity) 뒤로 가기 버튼 만드는 방법
[안드로이드 코틀린] RecyclerView 다중 선택 삭제하는 방법 (0) | 2022.09.23 |
---|---|
[안드로이드 코틀린] RecyclerView 다중 선택 색상 변경하는 방법 (2) | 2022.09.22 |
[안드로이드 코틀린] 코드(MainActivity) 에서 배경 색상 바꾸는 다양한 방법 (0) | 2022.09.20 |
[안드로이드 코틀린] RecyclerView 홀수 행, 짝수 행 별 색상 다르게 하는 방법 (0) | 2022.09.19 |
[안드로이드 코틀린] SQLite ToDo List 만드는 방법 part3 - 메인 화면과 메인 코드 (2) | 2022.09.16 |
댓글 영역