일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 급속충전기
- 전기차
- 라즈베리파이
- 펌웨어
- AWS
- 홈어시스턴트
- homeassistant
- esp8266
- 파이썬
- flask
- 전기차충전
- 에버온
- 서버리스
- 전기차충전기
- YMODEM
- 충전기
- STM32
- 플라스크
- raspberry
- thread
- everon
- 완속충전기
- 안드로이드
- lambda
- Android
- dynamodb
- OCPP
- 디자인패턴
- IOT Core
- 보안
- Today
- Total
Louie NRT Story
[안드로이드] Activity LifeCycle 본문
작성일: 21년 8월 29일
Index
1. Activity LifeCycle
2. 직접 수행해보기
3. 수행 동영상
4. onPause()와 onStop()의 차이점
5. onPause() 동영상
1. Activity LifeCycle
1) 어플 시작
- 처음 실행되면 onCreate(), onStart(), onResume() 함수가 수행됨
- onCreate(): Activity가 생성될 때 행동에 대해서 정의함
- onStart(): 호출되어서 화면이 보이지 직전
- onResume(): 화면이 보여질때 수행
2) 수행중 홈 버튼 클릭 또는 다른 Activity 수행 될때
ex) 홈버튼을 눌러서 바깥으로 즉 백그라운드로 나갔을때 동작함
B라는 Activity를 호출하여 수행될때 현재 A라는 Activity는 중지됨
- onPause()와 onStop()이 수행됨
- onPause(): 다른 Activity로 전환되기 시작할때 수행
- onStop(): 다른 Activity가 전환이 되고 화면이 바뀌기 전에 수행됨
3) 어플 재실행 또는 Activity가 다시 수행 될때
ex) Backgroud에서 돌던 어플을 다시 Front로 불러옴
B라는 Activity가 수행을 완료 하면 A라는 Activity는 다시 시작됨
- onRestart()가 수행되고 다시 onStart(), onResume()이 수행됨
4) 뒤로가기 버튼 클릭
- onDestroy(): Activity가 종료 될때 수행함
2. 직접 수행해보기
1) 코드 작성하기
- 모든 함수를 정의하고 그 안에 Log.e() 함수를 이용하여 Log를 남김
- 버튼을 만들어서 Activity2로 넘어갈 수 있도록 함.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e("onCreate", "ENTER");
findViewById(R.id.direct_01).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this, MainActivity2.class));
}
});
}
@Override
protected void onStart() {
super.onStart();
Log.e("onStart", "ENTER");
}
@Override
protected void onResume() {
super.onResume();
Log.e("onResume", "ENTER");
}
@Override
protected void onPause() {
super.onPause();
Log.e("onPause", "ENTER");
}
@Override
protected void onStop() {
super.onStop();
Log.e("onStop", "ENTER");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.e("onDestroy", "ENTER");
}
@Override
protected void onRestart() {
super.onRestart();
Log.e("onRestart", "ENTER");
}
}
2) 어플 실행
- 어플을 처음 수행하면 onCreate(), onStart(), onResume() 함수가 수행됨
3) 홈버튼 클릭
- onPause()와 onStop()이 수행됨을 알 수 있음
4) Front로 어플 수행
- onRestart(), onStart(), onResume()이 수행됨
5) 다른 Activity 수행
- onPause()와 onStop()이 수행됨
6) 원래 Activity 수행
- Activity2에서 취소 버튼을 눌러 다시 Activity로 돌아옴
3. 수행 동영상
4. onPause()와 onStop()의 차이점
- 헷갈리는 것 중 onPause()와 onStop()의 차이점을 알아야 함
- 화면이 전환되면 onStop() 이지만 화면이 떠있으면 onPause()로 구분 하면 됨
1) AndroidManifest.xml
2) activity_main3.xml
- 의미있는건 아니구 그냥 대충 중간에 버튼 하나를 만들어줌
3) MainActivity3
- 상속을 Activity로 받음 (AppCompatActivity -> Activity)
4) activity_main.xml
- MainActivity3 으로 이동할 버튼을 하나 만듬
5) MainActivity
- MainActivity3 으로 이동 하도록 함
5. onPause() 동영상
Referece:
https://www.youtube.com/watch?v=gYacRFMEPjk&t=1690s
'전기차충전기' 카테고리의 다른 글
[안드로이드] 지정한 어플 자동실행 및 강제종료 어플 만들기 - Todo (0) | 2021.08.30 |
---|---|
[안드로이드] .apk 디컴파일 (0) | 2021.08.29 |
[충전기 스타트업] 차지인 (0) | 2021.08.28 |
[안드로이드] 기본 구조 (0) | 2021.08.21 |
[FreeRTOS] 임계영역 및 상호배제 (0) | 2021.08.21 |