第四课,对android中Activity生命周期的讲解。
package com.myclover.life;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* 测试Activity的生命周期
* @author myclover
* </br>
* 执行流程如下:
* 在应用在启动时先执行onCreate,在界面可见但是不可点击时执行onStart,在界面可见并可操作时执行onResume,
* 当界面再次不可点击时执行onPause,在界面不可见时执行onStop,如果调用了finish(),那么接着会执行onDestroy
*
* 该测试程序执行的结果为:
* execute first onCreate---->execute first onStart---->execute first onResume---->(跳转)
* execute first onPause---->execute second onCreate---->execute second onStart---->
* execute second onResume---->execute first onStop---->execute first onDestroy---->(返回)
* execute second onPause---->execute first onCreate---->execute first onStart---->
* execute first onResume----> execute second onStop---->execute second onDestroy
*/
public class LifeDemoActivity extends Activity {
private static final String TAG = "LifeDemoActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "execute first onCreate!");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button redirectBtn = (Button)findViewById(R.id.redirectBtn);
Button toThirdBtn = (Button)findViewById(R.id.toThirdBtn);
redirectBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//弹出确认选择框
Dialog dialog = new AlertDialog.Builder(LifeDemoActivity.this)
//设置弹出框标题
.setTitle(R.string.title)
//设置弹出框提示信息
.setMessage(R.string.message)
//设置确定按钮
.setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
//点击确定按钮执行的方法
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
//设置Activity的跳转
intent.setClass(LifeDemoActivity.this, SecondActivity.class);
//启动新Activity
LifeDemoActivity.this.startActivity(intent);
//销毁当前Activity
LifeDemoActivity.this.finish();
Log.i(TAG, "redirect to second activity!");
}
})
//设置取消按钮
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
//点击取消按钮执行的方法
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i(TAG, "click cancel !");
}
}).create();
dialog.show();
}
});
toThirdBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
//设置Activity的跳转
intent.setClass(LifeDemoActivity.this, ThirdActivity.class);
//启动新Activity
LifeDemoActivity.this.startActivity(intent);
//销毁当前Activity
// LifeDemoActivity.this.finish();
Log.i(TAG, "redirect to third activity!");
}
});
}
@Override
protected void onStart() {
Log.i(TAG, "execute first onStart!");
super.onStart();
}
@Override
protected void onRestart() {
Log.i(TAG, "execute first onRestart!");
super.onRestart();
}
@Override
protected void onResume() {
Log.i(TAG, "execute first onResume!");
super.onResume();
}
@Override
protected void onPause() {
Log.i(TAG, "execute first onPause!");
super.onPause();
}
@Override
protected void onStop() {
Log.i(TAG, "execute first onStop!");
super.onStop();
}
@Override
protected void onDestroy() {
Log.i(TAG, "execute first onDestroy!");
super.onDestroy();
}
}
分享到:
相关推荐
这个"Android生命周期例子"提供了深入理解这一概念的实践代码。生命周期管理是确保应用性能、响应性和资源有效利用的基础。 首先,Android Activity的生命周期可以分为几个主要阶段:创建(Creation)、启动(Start...
本文将深入探讨Android Activity的生命周期,并通过具体的例子来帮助开发者更好地理解这一核心概念。 Android Activity的生命周期包括以下几个主要状态: 1. **初始化态(Created)**: 当Activity首次被创建时,会...
"Android生命周期测试"就是一个专门针对这个问题进行探究的例子,旨在解决程序在运行时可能出现的异常情况,如自动黑屏或返回时程序崩溃。下面我们将深入探讨Android生命周期及其测试的相关知识点。 首先,Android...
本例将深入探讨Android的生命周期,并通过具体例子来阐述。 首先,我们从Activity的生命周期开始。Activity的生命周期主要由以下几个关键方法组成: 1. onCreate():这是Activity被创建时调用的第一个方法。在这里...
理解Activity的生命周期对于创建高效、响应迅速且用户体验良好的应用程序至关重要。本篇将通过代码示例深入解析Activity的生命周期及其在不同栈管理策略下的行为。 首先,Activity的生命周期分为几个关键状态:创建...
在这个“android activity的生命周期小例子”中,我们将探讨Activity在不同场景下如何启动、暂停、恢复和终止,以及如何在后台打印Activity的调用方法。 Activity的生命周期主要由以下几个关键方法组成: 1. `...
在Android应用开发中,Activity是...总之,"android生命周期demo"是一个宝贵的教育资源,通过实践和调试这个例子,开发者可以更深入地理解Activity的生命周期,并学会如何在实际项目中有效地管理和控制Activity的状态。
在这个例子中,我们不需要手动管理Service的生命周期,因为IntentService会在处理完intent后自动调用`stopSelf()`。 3. **Service的启动和绑定** - **启动Service**: 使用`startService()`启动Service,它会在后台...
Android官方activity-lifecycle生命周期例子,参考网页: http://developer.android.com/training/basics/activity-lifecycle/index.html 方便了解Activity生命周期,提供了非常形象的说明。生动讲解。可以结合官网...
为了更好地理解和掌握Activity的工作机制,本文将详细介绍Android Activity的生命周期及其各个阶段的状态转换,帮助开发者深入理解并正确管理Activity的生命周期。 ### 一、Android Activity生命周期介绍 #### 1. ...
总之,理解和熟练掌握Fragment的生命周期对于开发Android应用至关重要,它能够帮助我们构建出更加高效、响应迅速且用户体验良好的应用。在实际开发中,要根据具体需求灵活运用,确保Fragment的正确管理和有效通信。
在`MyView`这个例子中,作者可能已经实现了上述的一些生命周期方法,并通过实际测试了解了它们的工作方式。通过分享这个示例,开发者可以学习如何创建和管理自定义View的生命周期,从而提升Android应用的用户体验和...
在Android应用开发中,Fragment是UI组件的一种,它允许我们把一个复杂的用户界面分解成多个独立的部分,每个部分有自己的生命周期和交互逻辑。本教程将详细探讨Android中的Fragment生命周期,并通过"FragmentTest4...
### Android 中从Activity1跳转到Activity2再回到Activity1所经历的生命周期 在Android开发过程中,理解Activity的生命周期对于管理界面状态、处理用户交互以及响应系统事件至关重要。本文将详细解析从一个Activity...
理解Activity的生命周期是至关重要的,因为它直接影响到应用的性能、内存管理和用户体验。本篇文章将详细探讨Activity的各个生命周期方法,包括`onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, ...
在这个例子中,我们创建了一个名为`LifeCycleActivity`的`Activity`类,并在每个生命周期回调方法中记录了日志消息。这样可以帮助开发者跟踪`Activity`的生命周期状态变化,并据此调整代码逻辑。 总结来说,理解`...
综上所述,BroadcastReceiver在Android开发中扮演着重要角色,它的生命周期管理和正确使用是确保应用能及时、有效地响应广播的关键。同时,理解源码可以帮助我们更好地定制和优化BroadcastReceiver的行为。
"动手学Android之七——Activity生命周期"这个主题深入探讨了Activity如何在应用程序中创建、运行、暂停、停止以及销毁的过程,这对于理解和优化应用性能至关重要。在这个例子程序中,开发者将有机会实践这些生命...
在安卓(Android)开发中,Activity是应用程序的基本构建块,它是用户与应用...通过实践这些例子,开发者可以更好地掌握如何在不同状态下处理事件,以及如何有效地管理Activity的生命周期,从而提高应用的性能和效率。