ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Android] SharedPreference; 데이터 임시 저장
    Android 2022. 3. 12. 21:31

    앱을 종료하더라도 앱 사용하며 발생한 저장되어야 할 데이터가 남아있도록 하는 것이다.

    앱 설정 창에 많이 쓰인다. 설정 값은 앱 종료 후에도 저장되어 있어야 하기 때문이다.

    단, 임시저장이기 때문에 앱을 삭제할 경우 저장된 데이터도 함께 삭제된다.

     

    이번에는 앱에서 EditText 상 입력한 문자가 앱 종료 후 재실행 후에도 남아 있도록 하는 예제를 만들어 보았다.

     

    xml에는 EditText만 넣어두고 id를 et_save로 지정해 두었다.

     

    MainActivity.java

    package com.example.sharedpreference;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.widget.EditText;
    
    public class MainActivity extends AppCompatActivity {
    
        EditText et_save;
        String shared = "file";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            et_save = (EditText) findViewById(R.id.et_save); //xml의 id java로 연결
    
            // 2. 시작 시 불러오기 구문
            SharedPreferences sharedPreferences = getSharedPreferences(shared,0);
            String value = sharedPreferences.getString("hong", ""); // 저장된 값 가져올 것이기에 value는 빈칸
            et_save.setText(value); //value에 있는 string 값을 setText
        }
    
        // 1. 종료 시 저장 구문
        @Override
        protected void onDestroy() { // activity가 종료(destroy)될 때 호출
            super.onDestroy();
    
            SharedPreferences sharedPreferences = getSharedPreferences(shared, 0);
            SharedPreferences.Editor editor = sharedPreferences.edit();// SharedPreference에 editor 연결
            String value = et_save.getText().toString(); // EditText 에 입력된 문자 가져옴
            editor.putString("hong", value); // 받아온 값 에디터에 넣어주기. hong 이라는 이름으로 value 값을 저장할거야
            editor.commit(); // 저장을 완료해라
        }   //
    }

    'Android' 카테고리의 다른 글

    [Android] Navigation Menu Customizing  (0) 2022.03.14
    [Android] WebView  (0) 2022.03.12
    [Android] Navigation menu  (0) 2022.03.12
    [Android] ListView 리스트 만들고 데이터 저장하기  (0) 2022.03.09
    [Android] 패키지구조&역할  (0) 2022.03.09
Designed by Tistory.