상세 컨텐츠

본문 제목

[안드로이드 코틀린] SharedPreferences 간단한 데이터 저장하는 방법

안드로이드

by aries574 2022. 9. 21. 17:24

본문


이번 시간에는 앱에서 아이디, 패스워드를 한번 입력하면

나중에 들어왔을 때 정보가 사라지지 않는 방법을 알아보겠습니다. 


목차

1. 실행 화면
2. 메인 화면 activity_main.xml
3. 메인 코드 MainActivity.kt


1. 실행 화면

 

2. 메인 화면 activity_main.xml

- 설명 -

 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>

 

 

3. 메인 코드 MainActivity.kt

- 설명 -

 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 홀수 행, 짝수 행 별 색상 다르게 하는 방법

 

[안드로이드] RecyclerView 홀수 행, 짝수 행 별 색상 다르게 하는 방법

이번 시간에는 리스트에 쓰이는 RecyclerView 화면에서 홀수 행, 짝수 행 별 색상 다르게 보여주는 방법 알아보겠습니다. 목차 1. 실행 화면 2. 아이템 화면 list_item.xml 3. 아이템 어댑터 ListAdapter

aries574.tistory.com

2022.09.20 - [안드로이드] - [안드로이드 코틀린] 코드(MainActivity)에서 배경 색상 바꾸는 다양한 방법

 

[안드로이드 코틀린] 코드(MainActivity) 에서 배경 색상 바꾸는 다양한 방법

이번 시간에는 코드(MainActivity)에서 텍스트뷰 색상을 다양하게 변경하는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면  activity_main.xml 3. 메인 코드  MainActivity.kt 1. 실행 화..

aries574.tistory.com

2022.09.13 - [안드로이드] - [안드로이드 코틀린] 액티비티(Activity) 뒤로 가기 버튼 만드는 방법

 

[안드로이드 코틀린] 액티비티(Activity) 뒤로가기 버튼 만드는 방법

이번 시간에는 액티비티(Activity) 이동 후에 다시 이전 화면으로 돌아가는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 액티비티 만들기 3. 환경 설정 파일 AndroidManifest.xml 4. 메인 화면 acti

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역