はいアクティビティがonStart()またはonPause()から再開されるかどうかを認識するためのプログラミング方法があります。
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
///it will come in action after code of display notification function described below
DisplayNotification("ActivityLifeCycleDemo","onCreate");
sleepForaMinute();
}
}
今、私たちは私たちの活動にさらに2つのサポート機能が追加されます:私はシンプルな通知アプリケーションで、次の午前、それを理解することが
。
static final int NOTIFICATION_ID = 1776;
protected void DisplayNotification(String title,String message)
{
NotificationManager notifManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification note = new Notification(R.drawable.icon, title, System.currentTimeMillis());
PendingIntent intent = PendingIntent.getActivity(this, 0, new Intent(this, ActivityLifeCycleDemo.class), 0);
note.setLatestEventInfo(this, title, message, intent);
notifManager.notify(NOTIFICATION_ID, note);
}
protected void sleepForaMinute()
{
try
{
Thread.sleep(60000);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
アクティビティを開始すると、Android端末に以下の通知が表示されます。今onDestroy
すべてのリソースがcleanasであることは、次のようにのはonDestroyイベントをオーバーライドしてみましょう
:
@Override
protected void onDestroy() {
super.onDestroy();
DisplayNotification("ActivityLifeCycleDemo","onDestroy");
}
のonCreateメソッドで取得し、以前で使用されたそれらのすべてのリソースをクリーンアップする必要がありonDestroy方法今破壊された活動
ONSTART
今すぐ次のようにのはONSTARTメソッドをオーバーライドしてみましょう:
@Override
protected void onStart() {
super.onStart();
DisplayNotification("ActivityLifeCycleDemo","onStart");
sleepForaMinute();
}
今ここ ONSTART法では、あなたが表示され、アニメーションを示すように、あなたの活動のために必要なすべての可視行動を開始する必要がありますユーザーのプロンプトなど onStop さて、次のようにのはonStopメソッドをオーバーライドしてみましょう:
@Override
protected void onStop() {
super.onStop();
DisplayNotification("ActivityLifeCycleDemo","onStop");
}
onStopメソッドはONSTARTメソッドで開始されたすべてのアクションを停止する必要があります。アクティビティは不可視なので、あなたのアクティビティは、Androidインターフェイスに必要なタスクを実行していてはならず、CPUサイクルを消費してはなりません。 onResume
は今、次のようにのはonResumeメソッドをオーバーライドしてみましょう:
onPause
protected void onResume() {
super.onResume();
DisplayNotification("ActivityLifeCycleDemo","onResume");
}
さて、次のようにのは、onPauseメソッドをオーバーライドしてみましょう:
@Override
protected void onPause() {
super.onPause();
DisplayNotification("ActivityLifeCycleDemo","onPause");
}
は結論
アンドロイド活動はいくつかの違いがあります一生の間、州を賃貸します。状態とイベントを理解することで、ユーザーのための効率的で反応性の高い方法でアプリケーションをコーディングするのに役立ちます。 Androidオペレーティングシステムは、アクティビティのイベントを呼び出すことで、さまざまなイベントを慎重に開発している限り、アクティビティ自体を非常に効果的に管理できます。だから、あなたの次のAndroidアプリのライフサイクルを管理しながら楽しんでください!
なぜプログラミング方法が必要でしょうか?チャートを見るだけで、それはあなたに順序を教えてくれます。 –
protected void onCreate(Bundle savedInstanceState){...} savedInstanceStateはそれを見つけるために使われます。あなたの活動を一時停止する前に状態を保存し、onCreateで状態をチェックしてください。 –
@ルーカニコレッティルカのヒントをありがとう。しかし、私が理解しているように、onPauseの後にはonCreateがないので、一時停止する前に状態バンドルに何かを入れることができますか? – PhiVuTru