Android Activity类讲解(一)

--by
CY[[email protected]]

1.protected void onCreate(Bundle savedInstanceState) { throw new
RuntimeException("Stub!");   }

  当创建一个Activity时,系统会自动调用onCreate方法来完成创建工作.该创建工作包括布局,监听器的绑定等.

  首先说一下Bundle 这个类,Bundle是一个键值对,跟Map类似,两个Activity之间的通信可以用Bundle类来实现.

  Bundle
savedInstanceState对象则是保存程序上一次关闭(冻结)时的状态,也可以通过重写onFreeze方法来保存冻结前的状态.当程序启动(Activity 重新初始化时),会再次调用onCreate方法,从savedInstanceState中获取前一次的冻结状态,可以通过Bundle来将这一个Activity
中的内容传到下一个Activity 中.

  当一个Activity 结束前需要保存状态,就保存在savedInstanceState中,当其它Activity创建时,就能从中获得数据.

2.protected void onSaveInstanceState(Bundle outState) { throw new
RuntimeException("Stub!");    }

  Android中的Activity通过onSaveInstanceState()方法保存Activity的状态,在onCreate或者onRestoreInstanceState方法中哦功能恢复,如果是通过onRestart方法运行,则只会执行onSaveInstanceState方法.

  图1-1是android Activity的生命周期.

  

  图1-1

3. protected void onRestoreInstanceState(Bundle savedInstanceState) {
throw new RuntimeException("Stub!"); }

  解释见第2条

4.protected void onRestart() { throw new RuntimeException("Stub!");
   }

  解释见第2条

5. protected void onStart() { throw new RuntimeException("Stub!");
   }

  下面来结合来说一下onCreate, onStart, onResume, onPause, onRestart, onStop,
onDestroy方法.当启动一个Activity时,系统会依次调用onCreate, onStart, onResume方法.

  从activity1启动activity2时,会先调用activity1的onPause方法,然后再调用activity2的onCreate,
onStart, OnResume方法,若要完全覆盖activity1,则最后再调用activity1的onStop方法.

  

 onCreate方法:

  • Activity第一次创建时,被系统调用

  • 作用是设置布局文件,绑定监听器

 onStart方法:

  • Activity可见时,会调用该方法

 onResume方法:

  • 用户可以获取当前焦点时,会调用该方法

 onPause方法:

  • 当新的Activity遮住当前Activity时,该方法会保存当前Activity中的数据

 onRestart方法:

  • 一个Activity没有被销毁时(调用onDestroy方法),再次使用该Activity时会调用onRestart方法

  onStop方法:

  • 当当前Activity完全不可见时,系统会调用该方法

 onDestroy方法:

  • 销毁一个Activity

Android Activity类讲解(一),布布扣,bubuko.com

时间: 2024-12-26 21:01:50

Android Activity类讲解(一)的相关文章

Android - Activity类和Manager类的更新通信

Activity类和Manager类的更新通信 本文地址: http://blog.csdn.net/caroline_wendy Activity类和事件管理(Manager)类之间需要进行通信,可以把更新的数据,及时显示在界面. 在更新的管理类StepCounterManager中设置一个接口调用:保证每一次更新,都会调用这个接口. mTest.test(context); 在管理(Manager)类内声明,指明调用接口类的方法: private InterfaceTest mTest; p

android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别

Activity.finish() 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法. 当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放.因为移出了栈,所以当你点击手机上面的"back"按键的时候,也不会找到这个Activity. Activity.onDestory() 系统销毁了这个Activity的实例在内存中占据的空间. 在Activity的生命周期中,

Android——Activity中的六个主要函数

Android Activity中的六个主要函数 Android中一个Activity一般都需要实现六个函数: onCreate(), onStart(), onResume(),onPause(),onStop(),onDestroy(). onCreate函数:注册你要用到的变量,比如说service,receiver,这些变量是无论你的Activity是在前台还是在后台都能够被响应到的,然后调用上面那个用来初始化的函数初始化布局信息. onStart函数:注册一些变量.这些变量必须在And

【Android4高级编程笔记】深入探讨Android Activity

创建Activity 要创建一个新的Activity,需要对Activity类进行扩展,在新类定义用户界面并实现新的功能. 视图是用来显示数据和提高用户交互的Ui控件.Android提供了多个布局类,称为ViewGroup,它可以包含多个视图来帮助布局UI.Fragment用来封装UI的各个部分,从而能够方便地创建动态界面. Activity需要在Manifest中对其进行注册.在Manifest的application节点内添加新的activity标签:activity标签包含像标签.图标.必

Android系统以及Activity启动讲解

一.Android系统启动 Android框架架构图:(来自网上,我觉得这张图看起来很清晰) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用.启动的过程如下图所示:(图片来自网上,后面有地址) Android系统整个过程如下: (一) Init进程的启动 init进程,它是一个由内核启动的用户级进程.内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程.init

android开发中关于继承activity类中方法的调用

android开发中关于继承activity类中的函数,不能在其他类中调用其方法. MainActivity.java package com.example.testmain; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState)

Android 非Activity类引用getResources()方法问题的解决方法

在进行Android开发的过程中,在一个非Activity类(此处假设类名为MyNewClass)中引用了getResources()方法,如下: Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.marker_red); 结果错误信息提示:MyNewClass.class中没有getResources()方法. 在百度和Google上各种寻找,没有合适的解决办法. 有人这么解决: 可以传递指针给你的acti

Android Activity基础详解

一.Activity简介 Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话.拍摄照片.发送电子邮件或查看地图等操作. 每个 Activity 都会获得一个用于绘制其用户界面的窗口.窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上. 一个应用通常由多个彼此松散联系的 Activity 组成. 一般会指定应用中的某个 Activity 为"主" Activity,即首次启动应用时呈现给用户的那个 Activity. 而且每个 Activity 均可启动另

android——activity与view

1.       activity, view概述 进行android开发,只需具有java语言基础即可.入门的开发并不需要一些高深的java知识,如Swing,网络,线程,数据库等. 刚开始进行android开发,会觉得android的架构设计得很好,接口简单,模块独立.特别是像我这种C++程序员来说,没有了框架自动添加的很多消息映射宏,窗口的启动,过多复杂的类等.如android应用程序的基本构成就采用MVC模式,界面与逻辑开发独立,程序员可以只专注于程序逻辑开发,美工可以专注于界面设计.