onResume ()을 사용하는 방법?


86

누구든지 onResume()Android에서 사용하는 예제를 줄 수 있습니까 ?

또한, 나는이 방법은 executed- 또 다른 실행의 말에 활동을 다시 시작하려는 경우 onCreate()또는 onResume()?

데이터를 업데이트하려면 어떻게 입력합니까? onResume()?


onResume ()은 호출 등에서 활동으로 다시 이동할 때마다 호출됩니다. onCreate ()와 유사하게 onResume 메서드를 재정의하고 작업을 수행 할 수 있습니다.
Jibяaᴎ Khaᴎ

이는 Android 앱의 수명주기를 이해하는 데 도움 될 수 있습니다.
TronicZomB 2013 년

2
이러한 메서드가 호출되는 순서는 Android 개발자 문서에 설명되어 있습니다. developer.android.com/reference/android/app/…
Michael

1
답을 선택하십시오. SO에 오신 것을 환영합니다.
donfede

답변:


131

다시 시작되는 모든 활동에는 먼저 onResume () 메서드가 실행됩니다.

이 방법을 사용하려면 다음과 같이하십시오.

@Override
public void onResume(){
    super.onResume();
    // put your code here...

}

72

앱을 다시 시작하면 OnCreate().

일시 중지 된 상태에서 앱을 계속하면을 호출 OnResume()합니다. https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle 의 공식 문서에서 다음 은 활동 수명주기의 다이어그램입니다.

https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle의 https://developer.android.com/images/activity_lifecycle.png에서 Android 활동 수명주기


1
링크를 제공하려면 하이퍼 링크를 사용하십시오.
Manoj Fegde 2013 년

링크는 때때로 나에게 문제를주고 있습니다. 나는 잘 모릅니다 왜
비스와 나스 Lekshmanan

2
많은 문제를 일으킬 수있는 활동 수명주기의 일부인 메서드를 수동으로 호출하지 않는 것이 좋습니다.
Cata

1
@Cata, 나는 Viswanath가 메소드가 호출된다는 것을 의미한다고 가정했으며 그에 따라 답변을 업데이트했습니다.
Mathieu K.

요즘 onCreate 전에 onResume이 호출된다는 점에 주목하고 싶었습니다!
mdre

28

이해하는 가장 좋은 방법은 활동에서 모든 LifeCycle 메서드를 재정의하고 중단 점 (에뮬레이터에서 확인하는 경우) 또는 로그를 각각에 배치하는 것입니다. 어느 것이 언제 호출되는지 알게 될 것입니다.

스포일러처럼 onCreate()먼저 호출되고 홈 화면으로 이동하거나 다른 활동을 시작하여 활동을 일시 중지하면 onPause()호출됩니다. OS가 그 동안 활동을 파괴하면 onDestroy()호출됩니다. 앱을 재개하고 앱이 이미 파괴 된 경우, onCreate()호출되거나 그렇지 않으면 onResume()호출됩니다.

편집 : 약 잊고 onStop(), 그것은 전에 호출됩니다 onDestroy().

내가 언급 한 연습을하면 더 잘 이해하게 될 것입니다.


1
한동안 자세한 설명을 찾고 있었는데, 이것이 완벽한 앱 활동주기를 만드는 데 정말 도움이되었습니다. 감사합니다.
키노 클레이튼

당신은 ONSTART () 잊어
도리 다니엘

9

이전 답변의 대부분은 사용 방법, 이유 및시기를 설명하는 데 효과적 onResume()이지만 .NET을 다시 만드는 방법에 대해 추가하고 싶습니다 Activity.

onCreate () 또는 onResume ()에서 실행되는 다른 메서드의 예외가 끝날 때 활동을 다시 시작할 것인지 알고 싶습니다.

대답은 onCreate()그러나 실제로 다시 만들기로 결정할 때 얼마나 많은 것을 다시 만들어야하는지 스스로에게 물어봐야합니다 Activity. 어댑터의 데이터 인 경우, 예를 들어 목록의 경우를 호출 notifyDataChanged()하여 모든 항목을 다시 그릴 필요 adapter없이을 다시 채울 수 있습니다 adapter.

또한 views일부만 업데이트해야하는데 전부가 아닌 경우 업데이트가 필요한 (s) 를 호출 invalidate()하는 것이 더 효율적일 수 있습니다 view. 이렇게하면 해당 항목 만 다시 그려 views지고 응용 프로그램이 더 원활하게 실행될 수 있습니다. 도움이 되었기를 바랍니다.


5

onResume()활동 수명주기 동안 호출되는 메서드 중 하나입니다 . 활동을 숨기는 새 활동을 시작하는 경우와 같이 활동이보기에서 숨겨 질 때마다 호출되는 onResume()대응 onPause()요소입니다. onResume()숨겨진 활동이 화면에 다시 표시 될 때 호출됩니다.

활동을 다시 시작하는 데 사용되는 방법을 묻는 질문입니다. onCreate()활동이 처음 생성 될 때 호출됩니다. 실제로 대부분의 활동은 일련의 onPause()onResume()호출을 통해 백그라운드에서 지속됩니다 . 활동은 onRestart()호출에 의해 완전히 중지 된 onStop()다음 다시 활성화 될 때만 실제로 "다시 시작"됩니다 . 따라서 실제로 활동을 중지하지 않는 경우 onStop()가장 likley가 사용 onResume()됩니다.

다양한 라이프 스타일 방법 간의 관계를 더 잘 이해하려면 위 링크의 Android 문서를 읽어보세요. 일반 형식을 사용하는 수명주기 방법에 관계없이 동일합니다. 표준 메서드를 재정의하고 코드 (즉, 해당 시점에서 활동이 수행 할 작업을 주석 처리 된 섹션)에 포함해야합니다.

@Override
public void onResume(){
 //will be executed onResume
}

뷰에서 항목을 클릭하면 onResume ()이 호출됩니까?
rajiv_

1
항목을 클릭한다고해서 반드시 onResume이 호출되는 것은 아닙니다. 해당 뷰가 숨겨져 복원되거나 완전히 생성되기 전에 초기로드시 onResume 메서드가 호출됩니다.
Rarw 2017-07-07

show 오류가
super.onResume


2

코 틀린

다시 시작되는 모든 활동에는 먼저 onResume () 메서드가 실행됩니다.

이 방법을 사용하려면 다음과 같이하십시오.

override fun onResume() {
        super.onResume()
        // your code here
    }

1

활동이 시작된 후 다시 시작 (onRestart ()이 onStart () 전에 발생) 또는 일시 중지 (onPause ()), onResume ()이 호출됩니다. 액티비티가 onResume () 상태이면 앱 사용자가 액티비티를 사용할 준비가 된 것입니다.

활동 수명주기를 약간 연구했으며 여기에 대한 이해가 있습니다. 다른 실행이 끝날 때 활동 (A)을 다시 시작하려는 경우 몇 가지 다른 경우가있을 수 있습니다.

  1. 다른 활동 (B)이 일시 중지 및 / 또는 중지 또는 삭제되었으며 활동 A가 일시 중지되었을 수 있습니다 (onPause ()).이 경우 활동 A는 onResume ()을 호출합니다.

  2. 활동 B가 일시 중지 및 / 또는 중지 또는 소멸되었으며, 활동 A가 메모리 문제로 인해 중지되었을 수 있습니다 (onStop ()).이 경우 활동 A는 먼저 onRestart ()를 호출하고, onStart ()를 호출 한 다음 onResume을 호출합니다. ()

  3. 활동 B가 일시 중지 및 / 또는 중지 또는 소멸되었으며, 활동 A가 소멸되었습니다. 프로그래머는 먼저 onStart ()를 호출하여 활동을 시작한 다음 onResume ()을 호출 할 수 있습니다. 활동이 소멸 상태 일 때 활동이 시작되지 않았으며 이것은 활동이 완전히 제거되기 전에 발생합니다. 활동이 제거되면 활동을 다시 작성해야합니다. 수동으로 onStart () 호출 활동이 시작되지 않고 생성되면 onCreate () 후에 onStart ()가 호출되기 때문이라고 생각합니다.

데이터를 업데이트하려면 데이터 업데이트 함수를 만들고 함수를 onResume () 안에 넣으십시오. 또는 onResume () 안에 loadData 함수를 넣으십시오.

활동 라이프 사이클 다이어그램을 통해 라이프 사이클을 이해하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.