[챕터 2-3-5] 라이프 사이클

2020. 2. 10. 20:11Android/Android 챕터 2-3

반응형

화면결과

 

 

텍스트 입력

뒤로가기 버튼 클릭

앱 재실행

 

데이터가 사라지지않고 남겨져 있음을 확인 : 자동 기억

(SharedPreferences)

 

로그캣에서 라이프 사이클 로그 확인할 것


프로젝트명 : MyLifeCycle

 


MainActivity.java

더보기
package org.minokuma.mylifecycle;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editText = findViewById(R.id.editText);

        Log.d("Main", "onCreate()");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d("Main", "onDestroy()");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d("Main", "onStart()");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d("Main", "onStop()");
    }

    @Override
    protected void onPause() {
        super.onPause();

        saveState();
        Log.d("Main", "onPause()");
    }

    @Override
    protected void onResume() {
        super.onResume();

        loadState();
        Log.d("Main", "onResume()");
    }

    public void saveState (){
        SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = pref.edit();
        editor.putString("name", editText.getText().toString());
        editor.commit();
    }

    public void loadState (){
        SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
        if (pref != null){
            if (pref != null){
                String name = pref.getString("name", "");
                editText.setText(name);
            }
        }
    }

}

 

 

반응형

'Android > Android 챕터 2-3' 카테고리의 다른 글

[챕터 2-3-4] Parcelable  (0) 2020.02.10
[챕터 2-3-3] 인텐트 2  (0) 2020.02.10
[챕터 2-3-2] 인텐트  (0) 2020.02.10
[챕터 2-3-1] 인플레이션  (0) 2020.02.10