`
myclover
  • 浏览: 195061 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

android生命周期的例子

阅读更多
第四课,对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生命周期例子"提供了深入理解这一概念的实践代码。生命周期管理是确保应用性能、响应性和资源有效利用的基础。 首先,Android Activity的生命周期可以分为几个主要阶段:创建(Creation)、启动(Start...

    Android_Activity_生命周期例子

    本文将深入探讨Android Activity的生命周期,并通过具体的例子来帮助开发者更好地理解这一核心概念。 Android Activity的生命周期包括以下几个主要状态: 1. **初始化态(Created)**: 当Activity首次被创建时,会...

    android生命周期测试

    "Android生命周期测试"就是一个专门针对这个问题进行探究的例子,旨在解决程序在运行时可能出现的异常情况,如自动黑屏或返回时程序崩溃。下面我们将深入探讨Android生命周期及其测试的相关知识点。 首先,Android...

    android的生命周期的例子

    本例将深入探讨Android的生命周期,并通过具体例子来阐述。 首先,我们从Activity的生命周期开始。Activity的生命周期主要由以下几个关键方法组成: 1. onCreate():这是Activity被创建时调用的第一个方法。在这里...

    Android说明Activity生命周期的代码例子

    理解Activity的生命周期对于创建高效、响应迅速且用户体验良好的应用程序至关重要。本篇将通过代码示例深入解析Activity的生命周期及其在不同栈管理策略下的行为。 首先,Activity的生命周期分为几个关键状态:创建...

    android activity的生命周期小例子

    在这个“android activity的生命周期小例子”中,我们将探讨Activity在不同场景下如何启动、暂停、恢复和终止,以及如何在后台打印Activity的调用方法。 Activity的生命周期主要由以下几个关键方法组成: 1. `...

    android生命周期demo

    在Android应用开发中,Activity是...总之,"android生命周期demo"是一个宝贵的教育资源,通过实践和调试这个例子,开发者可以更深入地理解Activity的生命周期,并学会如何在实际项目中有效地管理和控制Activity的状态。

    Android说明Service生命周期的代码例子

    在这个例子中,我们不需要手动管理Service的生命周期,因为IntentService会在处理完intent后自动调用`stopSelf()`。 3. **Service的启动和绑定** - **启动Service**: 使用`startService()`启动Service,它会在后台...

    Android官方activity-lifecycle生命周期例子

    Android官方activity-lifecycle生命周期例子,参考网页: http://developer.android.com/training/basics/activity-lifecycle/index.html 方便了解Activity生命周期,提供了非常形象的说明。生动讲解。可以结合官网...

    android activity 生命周期详细介绍

    为了更好地理解和掌握Activity的工作机制,本文将详细介绍Android Activity的生命周期及其各个阶段的状态转换,帮助开发者深入理解并正确管理Activity的生命周期。 ### 一、Android Activity生命周期介绍 #### 1. ...

    android fragment生命周期应用demo

    总之,理解和熟练掌握Fragment的生命周期对于开发Android应用至关重要,它能够帮助我们构建出更加高效、响应迅速且用户体验良好的应用。在实际开发中,要根据具体需求灵活运用,确保Fragment的正确管理和有效通信。

    View的生命周期

    在`MyView`这个例子中,作者可能已经实现了上述的一些生命周期方法,并通过实际测试了解了它们的工作方式。通过分享这个示例,开发者可以学习如何创建和管理自定义View的生命周期,从而提升Android应用的用户体验和...

    android学习之碎片的生命周期例子

    在Android应用开发中,Fragment是UI组件的一种,它允许我们把一个复杂的用户界面分解成多个独立的部分,每个部分有自己的生命周期和交互逻辑。本教程将详细探讨Android中的Fragment生命周期,并通过"FragmentTest4...

    Android 中从activity1跳转到activity2再回到activity所经历的生命周期

    ### Android 中从Activity1跳转到Activity2再回到Activity1所经历的生命周期 在Android开发过程中,理解Activity的生命周期对于管理界面状态、处理用户交互以及响应系统事件至关重要。本文将详细解析从一个Activity...

    Activity生命周期示例

    理解Activity的生命周期是至关重要的,因为它直接影响到应用的性能、内存管理和用户体验。本篇文章将详细探讨Activity的各个生命周期方法,包括`onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, ...

    Activity生命周期详解

    在这个例子中,我们创建了一个名为`LifeCycleActivity`的`Activity`类,并在每个生命周期回调方法中记录了日志消息。这样可以帮助开发者跟踪`Activity`的生命周期状态变化,并据此调整代码逻辑。 总结来说,理解`...

    BroadcastReceiver的生命周期

    综上所述,BroadcastReceiver在Android开发中扮演着重要角色,它的生命周期管理和正确使用是确保应用能及时、有效地响应广播的关键。同时,理解源码可以帮助我们更好地定制和优化BroadcastReceiver的行为。

    动手学Android之七——Activity生命周期

    "动手学Android之七——Activity生命周期"这个主题深入探讨了Activity如何在应用程序中创建、运行、暂停、停止以及销毁的过程,这对于理解和优化应用性能至关重要。在这个例子程序中,开发者将有机会实践这些生命...

    安卓Android源码——(Activity生命周期).rar

    在安卓(Android)开发中,Activity是应用程序的基本构建块,它是用户与应用...通过实践这些例子,开发者可以更好地掌握如何在不同状态下处理事件,以及如何有效地管理Activity的生命周期,从而提高应用的性能和效率。

Global site tag (gtag.js) - Google Analytics