2 분 동안 Android Activity 라 이 프 사이클 에 대한 상세 한 설명 을 철저히 이해 할 수 있 습 니 다.

5753 단어 androidactivity
안녕하세요,오늘 여러분 에 게 안 드 로 이 드 에서 Activity 의 생명 주 기 를 자세히 설명해 드 리 겠 습 니 다.저 는 앞에서 도 이런 내용 을 말 한 적 이 있 습 니 다.하지만 인터넷 의 대부분 글 처럼 기본적으로 안 드 로 이 드 API 를 번역 하 는 것 입 니 다.너무 추상 적 이 고 여러분 이 보시 면 약간의 도움 이 될 것 이 라 고 믿 습 니 다.하지만 아직 완전히 이해 할 수 없습니다.그래서 저 는 오늘 특별히 다시 정리 하고 있 습 니 다.먼저 안 드 로 이 드 api 에서 제공 하 는 Activity 수명 주기 도 를 보 겠 습 니 다.(모 르 겠 습 니 다.전체 글 을 볼 수 있 습 니 다.이 그림 을 돌 이 켜 보면 알 수 있 을 것 입 니 다)
Activity 는 응용 프로그램 Context 와 같은 종 류 를 계승 한 것 입 니 다.우 리 는 다음 과 같은 방법 을 다시 쓸 수 있 습 니 다.다음 과 같은 코드 입 니 다

 public class Activity extends ApplicationContext {
        protected void onCreate(Bundle savedInstanceState);

        protected void onStart();  

        protected void onRestart();

        protected void onResume();

        protected void onPause();

        protected void onStop();

        protected void onDestroy();
    }
여러분 들 이 더 잘 이해 할 수 있 도록 저 는 간단하게 Demo 를 썼 습 니 다.Activity 주 기 를 모 르 는 친구 들 은 직접 실천 할 수 있 습 니 다.여러분 들 은 제 절차 에 따라 하 세 요.첫 번 째 단계:안 드 로 이 드 프로젝트 를 새로 만 듭 니 다.저 는 Activity Demo 라 고 명명 합 니 다.두 번 째 단계:Activity Demo.java 를 수정 합 니 다.코드 는 다음 과 같 습 니 다

package com.tutor.activitydemo;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class ActivityDemo extends Activity {

 private static final String TAG = "ActivityDemo";

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.e(TAG, "start onCreate~~~");
    }

    @Override
    protected void onStart() {
     super.onStart();
     Log.e(TAG, "start onStart~~~");
    }

    @Override
    protected void onRestart() {
     super.onRestart();
     Log.e(TAG, "start onRestart~~~");
    }

    @Override
    protected void onResume() {
     super.onResume();
     Log.e(TAG, "start onResume~~~");
    }

    @Override
    protected void onPause() {
     super.onPause();
     Log.e(TAG, "start onPause~~~");
    }

    @Override
    protected void onStop() {
     super.onStop();
     Log.e(TAG, "start onStop~~~");
    }

    @Override
    protected void onDestroy() {
     super.onDestroy();
     Log.e(TAG, "start onDestroy~~~");
    }

}
세 번 째 단계:상기 프로젝트 를 실행 합 니 다.효과 도 는 다음 과 같 습 니 다.(특별한 것 이 없습니다)
핵심 은 Logcat 창 에 있 습 니 다.만약 에 Logcat 를 사용 하지 않 는 다 면 제 글 을 보 세 요Android 개발 노트:Log.v,Log.d,Log.i,Log.w,Log.e)우리 가 응용 프로그램 을 열 었 을 때 선후 로 onCreate()->onStart()->onResume 세 가지 방법 을 실 행 했 습 니 다.LogCat 창 을 보면 다음 과 같 습 니 다.

BACK 키:BACK 키 를 누 르 면 이 프로그램 이 끝 납 니 다.이 때 우 리 는 onPause()->onStop()->onDestory()세 가지 방법 을 사용 할 것 입 니 다.아래 그림 과 같 습 니 다.

HOME 키:우리 가 프로그램 을 열 었 을 때,예 를 들 어 브 라 우 저,나 는 NBA 뉴스 를 조회 하고 있 었 다.반 을 보 았 을 때 나 는 갑자기 노래 를 듣 고 싶 었 다.이때 우 리 는 HOME 키 를 누 른 다음 에 음악 프로그램 을 열 었 다.그리고 우리 가 HOME 를 눌 렀 을 때 Activity 는 선후 로 onPause()->onStop()이라는 두 가지 방법 을 실 행 했 는데 이때 응용 프로그램 은 소각 되 지 않 았 다.다음 그림 에서 보 듯 이:
그리고 우리 가 Activity Demo 응용 프로그램 을 다시 시작 할 때 선후 로 onRestart()->onStart()->onResume()세 가지 방법 을 실 행 했 습 니 다.다음 그림 과 같 습 니 다.

여기 서 우 리 는 문 제 를 일 으 킬 것 이다.우리 가 HOME 키 를 누 른 다음 에 Activity Demo 응용 프로그램 에 들 어 갈 때 우리 의 응용 상 태 는 HOME 키 를 누 르 기 전의 상태 와 같 아야 한다.마찬가지 로 이해 하기 편리 하도록 여기 서 나 는 Activity Demo 의 코드 를 수정 하 는 것 이 바로 EditText 를 추가 하 는 것 이다.네 번 째 단계:main.xml 레이아웃 파일 수정(EditText 추가),코드 는 다음 과 같 습 니 다.
4.567916.이때 홈 버튼 을 누 르 고 Activity Demo 프로그램 을 다시 시작 할 수 있 습 니 다.이때 EditText 에 우리 가 입력 한'Frankie'라 는 글자 가 없습니다.다음 그림 과 같 습 니 다.

이것 은 분명히 합 격 된 응용 프로그램 이 라 고 할 수 없 기 때문에 우 리 는 Activity 몇 가지 방법 에서 스스로 실현 해 야 한다.다음 과 같은 여섯 번 째 단 계 는 Activity Demo.자바 코드 를 다음 과 같이 수정 해 야 한다

Logcat , Logcat Log (Log.v,Log.d,Log.i,Log.w,Log.e), onCreate()->onStart()->onResume , LogCat :
BACK :
BACK , , onPause()->onStop()->onDestory() , :
HOME :
, , NBA , , , HOME , , HOME ,Activity onPause()->onStop() , 。 :
ActivityDemo , onRestart()->onStart()->onResume() , :

, HOME , ActivityDemo , HOME , , ActivityDemo , EditText。

: main.xml ( EditText), :
일곱 번 째 단 계 는 Activity Demo 프로그램 을 다시 실행 하고 다섯 번 째 단 계 를 반복 한다.우리 가 HOME 키 를 누 를 때 응용 프로그램 을 다시 시작 할 때EditText 에 마지막 으로 입력 한"Frankie"라 는 글자 가 있 습 니 다.아래 그림 과 같 습 니 다.

OK,대공 이 거의 완성 되 었 습 니 다.이때 여러분 들 은 위 에서 Activity 생명주기 도 를 보 실 수 있 습 니 다.저 는 여러분 들 이 Activity 의 생명주기 에 대해 완전히 알 고 계 실 거 라 고 생각 합 니 다.아 셨 는 지 모 르 겠 습 니 다.

좋은 웹페이지 즐겨찾기