Activity

    • 简介
    • 生命周期
    • 实例

你好!

简介

Activity代表了一个用户界面的单一屏幕。就是人们平时看到的单一的手机界面。Android的活动是ContextThemeWrapper类的子类。Activity的初始化是通过它生命周期的onCreate()回调的调用开始的,至onDestroy()回调的调用结束,下面是Activity的生命周期示意图:

Activity类定义了下面的这些回调。你不必实现所有的回调方法。但是必须熟练的了解每一个方法,实现这些可以保证你的应用行为如用户所期望的那样。

生命周期

  • onCreate() : 这是第一个回调,在Activity创建时调用
  • onStart() : 这是第二个回调,在Activity可见时被调用,注:只是可见,但是此时用户还看不见,因为它此时还不是屏幕最上面显示的那个activity
  • onResume() : 这个回调是
    activity与用户开始课交互的时候调用的,注:真正的可见,在屏幕显示的最上面,可以看到,可以点击滑动等进行交互
  • onPause() : 被暂停的activity无法接受用户的输入,不能执行任何代码。当当前activity将要被暂停,那么,另一个activity将要被恢复使用
  • onStop() : activity不可见时被调用,这时候是有一个新的Activity经过onResume将要盖到这个activity的上面
  • onDestroy() : 当activity被销毁之前调用
  • onRestart() : 当activity被停止以后重新打开时调用,就是经过了
  • onStop而没有执行onDestroy。

实例

这个实例通过简单地步骤展示 Android 应用程序活动的生命周期。按照下面的步骤来修改我们在 Hello World 实例章节中创建的 Android 应用程序。

  1. 使用AndroidStudio来创建一个Android应用程序,并命名为HelloWorld放在com.example.helloworld包下。如之前Hello World Example章节中介绍。
  2. 按照下面修改主要活动文件MainActivity.java。保持其他部分不变。
  3. 运行应用程序来打开Android模拟器,并检查应用程序的修改结果。

下面是主要活动文件src/com.example.helloworld/MainActivity.java修改的内容。里面包含每一个基本的生命周期方法。Log.d()方法用来生成日志信息:

package com.example.helloworld;import android.os.Bundle;import android.app.Activity;import android.util.Log;public class MainActivity extends Activity {   String msg = "Android : ";   /** 当活动第一次被创建时调用 */   @Override   public void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main);      Log.d(msg, "The onCreate() event");   }   /** 当活动即将可见时调用 */   @Override   protected void onStart() {      super.onStart();      Log.d(msg, "The onStart() event");   }   /** 当活动可见时调用 */   @Override   protected void onResume() {      super.onResume();      Log.d(msg, "The onResume() event");   }   /** 当其他活动获得焦点时调用 */   @Override   protected void onPause() {      super.onPause();      Log.d(msg, "The onPause() event");   }   /** 当活动不再可见时调用 */   @Override   protected void onStop() {      super.onStop();      Log.d(msg, "The onStop() event");   }   /** 当活动将被销毁时调用 */   @Override   public void onDestroy() {      super.onDestroy();      Log.d(msg, "The onDestroy() event");   }}

Activity从项目的res/layout中的XML文件加载所有的UI组件。下面的语句从res/layout/activity_main.xml文件中加载UI组件:

setContentView(R.layout.activity_main);

一个应用程序可以有1个或多个活动,而没有任何限制。每个为应用程序所定义的活动都需要在AndroidManifest.xml中声明。应用的主要活动需要在清单中声明,且意图过滤器标签中需要包含 MAIN 动作和 LAUNCHER 类别。因为我们用的是AndroidStudio,所以,在你创建Activity时,as会自动在AndroidManifest.xml文件中配置。

然后运行刚刚我们刚改好的程序,点击绿色的三角形按钮(需要把手机插到电脑上,并且打开手机的usb调试),如果一切顺利,当看到这个程序运行到手机上以后,你就能看到LogCat窗口中看到日志信息:

07-19 15:00:43.405: D/Android :(866): The onCreate() event07-19 15:00:43.405: D/Android :(866): The onStart() event07-19 15:00:43.415: D/Android :(866): The onResume() event

当你将手机切换到桌面,你能看到:

<code>07-19 15:01:10.995: D/Android :(866): The onPause() event07-19 15:01:12.705: D/Android :(866): The onStop() event</code>

当你将程序再切换回来:

<code>07-19 15:01:10.995: D/Android :(866): The onRestar() event07-19 15:01:12.705: D/Android :(866): The onResume() event</code>

当你点击返回键:

07-19 15:33:15.687: D/Android :(992): The onPause() event07-19 15:33:15.525: D/Android :(992): The onStop() event07-19 15:33:15.525: D/Android :(992): The onDestroy() event

我是入梦,谢谢你的观看我的博客,如果有什么错误,请随时联系我,QQ:897589417

更多相关文章

  1. 【转】Android(安卓)分析内存的使用情况
  2. Android的4种文件类型
  3. Android(安卓)Lifecycle的一些感悟
  4. 适用于Android的OpenSL ES指南-概述
  5. 有关于android屏幕横屏竖屏设置的问题
  6. Android(安卓)应用开发揭秘(笔记) 第一章Android开发简介
  7. Android(安卓)传感器(详解一)
  8. 【Android】Service 生命周期
  9. Android(安卓)之 Files

随机推荐

  1. 【Android Study】怎样更“高端”地建立
  2. android电池充电以及电量检测驱动分析
  3. Eclipse For Android 代码自动提示功能
  4. Android的开发环境的搭建
  5. 用LinearLayout和RelativeLayout分别实现
  6. android5中数据存储方式详解
  7. 利用半透明对话框实现新浪微博android客
  8. android am命令用法
  9. 可视化操作Android的SQLite数据库
  10. android通过网络下载文字和Mp3的例子