`
mmdev
  • 浏览: 12914765 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Android 学习记录3 -Activity 的生命周期

 
阅读更多

学习记录3

Activity的生命周期

有四个状态:

1.活动状态:当前Activity位于前台,用户可见,可以获得焦点

2.暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点。

3.停止状态:该Activity不可见,失去焦点。

4.销毁状态:该Activity结束,或Activity所在的Dalvik进程被结束。

3-1 Activity生命周期以及回调方法

从图3-1所示,在Activity的生命周期中,有如下方法:

onCreate():创建Activity时被回调。

onStart():启动Activity时被回调。

onRestart():重新启动Activity时被回调。

onResume():恢复Activity时被回调。

onPause():暂停Activity时被回调。

onStop():停止Activity时被回调。

onDestroy:销毁Activity时被回调。

Lifecycle项目的主要代码:

LifecycleActivity.java源码:

package com.Lifecycle;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

/**
 * Description:
 * <br/>site: <a href="http://www.crazyit.org">crazyit.org</a> 
 * <br/>Copyright (C), 2001-2012, Yeeku.H.Lee
 * <br/>This program is protected by copyright laws.
 * <br/>Program Name:
 * <br/>Date:
 * @author  Yeeku.H.Lee kongyeeku@163.com
 * @version  1.0
 */
public class LifecycleActivity extends Activity
{
	final String TAG = "--CrazyIt--";
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//输出日志
		Log.d(TAG , "-------onCreate------");		
		Button bn = (Button)findViewById(R.id.bn);
		//为bn按钮绑定事件监听器
		bn.setOnClickListener(new OnClickListener()
		{
			public void onClick(View source)
			{
				//结束该Activity
				LifecycleActivity.this.finish();
			}			
		});
	}
	@Override
	public void onStart() 
	{
		super.onStart();
		//输出日志
		Log.d(TAG , "-------onStart------");
	}
	@Override
	public void onRestart() 
	{
		super.onRestart();
		//输出日志
		Log.d(TAG , "-------onRestart------");		
	}
	@Override
	public void onResume() 
	{
		super.onResume();
		//输出日志
		Log.d(TAG , "-------onResume------");		
	}
	@Override
	public void onPause() 
	{
		super.onPause();
		//输出日志
		Log.d(TAG , "-------onPause------");		
	}
	@Override
	public void onStop() 
	{
		super.onStop();
		//输出日志
		Log.d(TAG , "-------onStop------");		
	}
	@Override
	public void onDestroy()
	{
		super.onDestroy();
		//输出日志
		Log.d(TAG , "-------onDestroy------");		
	}
}


main.xml的源码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	>
<Button
	android:id="@+id/bn"  
	android:layout_width="wrap_content" 
	android:layout_height="wrap_content" 
	android:text="退出"
	/>
</LinearLayout>


strings.xml的源码:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">Hello World, Lifecycle!</string>
    <string name="app_name">生命周期演示</string>

</resources>


AndroidManifest.xml的源码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.Lifecycle"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".LifecycleActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


在虚拟机运行效果图:

通过DDMS的LogCat窗口可以看到启动初启动Activity的输出:

暂停Activity时返回时回调的方法:

重新启动应用程序:

按“退出“按钮时结束Activity时回调的方法:

上述为整个Activity的生命周期的各种状态及不同状态之间切换时所回调的方法。

分享到:
评论

相关推荐

    Android学习笔记-Activity篇

    Android学习笔记-Activity篇 Contents Android学习笔记-Activity篇 1 一、activity创建: 1 二、在manifest.xml中声明activity: 1 三、启动activity 1 3.1 启动不带返回结果的Activity 1 3.2 启动带有返回结果的...

    Android自学笔记-15-Activity的生命周期

    Android自学笔记-15-Activity的生命周期

    Android笔记(5)---Activity生命周期

    NULL 博文链接:https://ln-ydc.iteye.com/blog/1911072

    android 学习笔记7-页面跳转 Activity启动 生命周期 activity数据传递

    1、创建一个自己的Activity 2、启动activity-显示启动和...3、隐式启动自己的activity 4、获取隐启动传递过来的data数据 5、显示启动传递数据 6、禁用掉横竖屏切换 7、开启activity获取返回值-startActivityForResult:

    Android开发笔记(3)-Activity生命周期

    NULL 博文链接:https://xusaomaiss.iteye.com/blog/379826

    android学习笔记

    3.android学习笔记--activity生命周期&handler使用 4.android学习笔记--HandlerThread和Bundle 5.android学习笔记--SQLite 6.android学习笔记--下载文件 7.android学习笔记--Content Provider 8.android学习笔记--...

    Android学习笔记

    Android学习笔记(1)-永远不变的Hello World Android学习笔记(2)-初识Activity Android学习笔记(3)-Activity的生命周期 Android学习笔记(4)-学习Intent的使用,

    Android Activity学习笔记

    本文的是深入重点讲解Activity,主要Activity生命周期、Activity之间数据交互、Activity启动模式、Task和BackStack。

    Activity生命周期

    Android初学者的学习笔记。Activity的生命周期的简要了解。

    【android编程】第七讲-android Activity

    Activity生命周期3. 创建Activity4. 配置Activity5. 启动和关闭Activity6. Activity 传递数据7. Activity 返回数据8. 题目记录关于生命周期详见前面 2.Activity生命周期 1. 学习指导 本讲主要介绍了Android四大组件...

    Android 学习笔记(1)--永远不变的Hello World

    让button来说hello word 、让菜单say hello、初识Activity、Activity的生命周期

    Android学习资料

    Gravity,Bundle,ContentResolver,cursor,Fragments ,Fragments,inflater ,Fragment,数据查询query函数参数解析, 【Cursor】 类的介绍,android 获得通话记录,Handler ,Android四大基本组件介绍与生命周期,...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    05 Activity的生命周期

    文件为讲解视频的ppt 视频地址 http://i.youku.com/520wcf 笔记参考:http://blog.csdn.net/yulianlin 欢迎订阅我的优酷频道

    深入浅出Android--Google手持设备应用程序设计下载

    活动的生命周期 10. 储存资讯(Preference)(BMI7) 11. 发布到Android 市集(Market) 12. 开发不息 &#1048766; 附录 &#1048698; 资源 1. Android 相关资源(相关资源) 2. 后续章节 3. 取得原始码 &#1048698; 范例 gBMI...

    深入浅出Android--Google手持设备应用程序设计.PDF

    9. 活动的生命周期 10. 储存资讯(Preference)(BMI7) 11. 发布到Android 市集(Market) 12. 开发不息 � 附录 � 资源 1. Android 相关资源(相关资源) 2. 后续章节 3. 取得原始码 � 范例 gBMI:输入身高体重(公制),...

Global site tag (gtag.js) - Google Analytics