티스토리 뷰
onPause : 화면이 눈에서 보이지 않게 될 때 항상 호출되므로 이때 데이터 저장해두기 가능
onResume: 화면이 다시 보일 때 항상 호출되므로 저장해 둔 데이터 가져와 화면에 설정하기 가능
package com.example.mycycle;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(getApplicationContext(), "onCreate() 호출됨",Toast.LENGTH_LONG).show();
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
protected void onStart() {
super.onStart();
Toast.makeText(getApplicationContext(), "onStart() 호출됨",Toast.LENGTH_LONG).show();
}
@Override
protected void onStop() {
super.onStop();
Toast.makeText(getApplicationContext(), "onStop() 호출됨",Toast.LENGTH_LONG).show();
}
@Override
protected void onPause() {
super.onPause();
Toast.makeText(getApplicationContext(), "onPause() 호출됨",Toast.LENGTH_LONG).show();
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("name","안드");
editor.commit();
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(getApplicationContext(), "onResume() 호출됨",Toast.LENGTH_LONG).show();
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
if(pref!=null){
String name = pref.getString("name","");
Toast.makeText(getApplicationContext(), "복구된 이름 : "+name,Toast.LENGTH_LONG).show();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(getApplicationContext(), "onDestroy() 호출됨",Toast.LENGTH_LONG).show();
}
}
위 예시에서는 onPause() 할 때 SharedPreferences로 데이터를 저장해뒀다.
데이터 저장할 때 (key로 put)만 editor를 열면 되고
단순히 key로 get 할 때는 editor 필요 없음에 주의
'Android' 카테고리의 다른 글
프래그먼트 예시 (0) | 2020.04.22 |
---|---|
서비스 예시 (0) | 2020.04.01 |
전화 걸기 연결 (+ 액티비티 구성 과정, 인텐트) (0) | 2020.04.01 |
스피너 spinner 예시 (0) | 2020.03.29 |
리스트뷰, 그리드뷰 예시 (0) | 2020.03.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- allcases
- 터치리스너
- 인플레이터
- 알림대화상자
- 뷰페이저
- prepareforreuse
- 상태드로어블
- 스낵바설정
- 전화걸기연결
- 어댑터
- 액션바
- 프래그먼트매니저
- 제스처디텍터
- CaseIterable
- objc
- 쉐이프드로어블
- 다이얼연결
- ios
- 비트맵버튼
- subscript
- 전화연결하기
- 카카오톡열기
- 표현패턴
- 안드로이드
- 페이저타이틀스트립
- 부가데이터
- 데이터
- 프래그먼트
- swift
- Objective-C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함