web-dev-qa-db-ja.com

onResume()の使用方法は?

AndroidでonResume()を使用する例を教えてもらえますか?

また、別の実行の最後にアクティビティを再開する場合、どのメソッドが実行されますかonCreate()またはonResume()

そして、データを更新したい場合、どのようにonResume()?に入れますか

67
Zizou

再起動するアクティビティには、最初にonResume()メソッドが実行されます。

この方法を使用するには、次を実行します。

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

}
110
Mr.Sandy

アプリを再起動すると、OnCreate()が呼び出されます。

一時停止中にアプリを継続すると、OnResume()が呼び出されます。 https://developer.Android.com/reference/Android/app/Activity.html#ActivityLifecycle の公式ドキュメントから、アクティビティライフサイクルの図を以下に示します。

the Android activity lifecycle, from https://developer.Android.com/images/activity_lifecycle.png on https://developer.Android.com/reference/Android/app/Activity.html#ActivityLifecycle

58

理解する最良の方法は、すべてのLifeCycleメソッドをアクティビティでオーバーライドし、ブレークポイント(エミュレータをチェックインする場合)またはそれらの各ログを配置することです。いつ呼び出されるかを知ることができます。

ネタバレのように、onCreate()が最初に呼び出され、ホーム画面に移動するか別のアクティビティを起動してアクティビティを一時停止すると、onPause()が呼び出されます。その間にOSがアクティビティを破壊すると、onDestroy()が呼び出されます。アプリを再開し、アプリが既に破棄されている場合、onCreate()が呼び出されるか、またはonResume()が呼び出されます。

編集:私はonStop()を忘れて、onDestroy()の前に呼び出されます。

私が言及した演習を行うと、よりよく理解できるようになります。

25
noob

これまでの回答のほとんどは、onResume()を使用する方法、理由、およびタイミングを説明するのに適していますが、Activityの再作成について追加したいと思います。

OnCreate()またはonResume()が実行される他のメソッドの実行の最後にアクティビティを再開するかどうかを知りたい

答えはonCreate()です。しかし、実際に再作成することを決定するときは、どのくらいのActivityを再作成する必要があるかを自問する必要があります。リストの場合など、アダプター内のデータの場合は、adapternotifyDataChanged()を呼び出して、adapterを再作成し、すべてを再描画する必要はありません。

また、すべてではなく特定のviewsを更新する必要がある場合は、更新が必要なviewinvalidate()を呼び出す方が効率的かもしれません。これにより、これらのviewsのみが再描画され、アプリケーションがよりスムーズに実行できるようになります。これがあなたのお役に立てば幸いです。

9
codeMagic

onResume()は、 アクティビティライフサイクル 全体で呼び出されるメソッドの1つです。 onResume()は、アクティビティがビューから隠されているときに呼び出されるonPause()に相当します。非表示にする新しいアクティビティを開始する場合。 onResume()は、非表示になったアクティビティが画面に表示されるようになったときに呼び出されます。

あなたは、アクティビティを再開するためにどの方法が使用されるかを尋ねます。 onCreate()は、アクティビティが最初に作成されたときに呼び出されます。実際には、ほとんどのアクティビティは一連のonPause()およびonResume()呼び出しを通じてバックグラウンドで持続します。アクティビティは、onRestart()を呼び出して最初に完全に停止し、その後に復帰した場合にのみ、onStop()によって実際に「再開」されます。したがって、実際にonStop()でアクティビティを停止しない場合は、onResume()を使用することになります。

上記のリンクのAndroid文書を読んで、さまざまなライフスタイルの方法の関係をよりよく理解してください。一般的な形式を使用するライフサイクル方法に関係なく、同じです。標準メソッドをオーバーライドし、コード、つまりその時点でアクティビティに実行させたいことをコメントセクションに含める必要があります。

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

Android Activity Lifecycleリファレンスを再確認します。素敵な写真と、どのメソッドが呼び出されるかを示す表があります。

https://developer.Android.com/reference/Android/app/Activity.html

2
donfede