Android核心组件 Activity组件
1、Activity简介
四大组件之一的Activity组件,在应用中一个Activity可以用来表示一个界面,中文意思也可以理解为“活动”,即一个活动开始,代表Activity组件启动,活动结束,代表一个Activity的生命周期结束。一个Android应用必须通过Activity来运行和启动,Activity的生命周期交给系统统一管理。
理解以下四个基本概念,将有助于我们更好的了解Android系统内部机制:
Activity:活动,程序中的界面
Application:应用程序
Activity栈:管理Activity的栈结构
Task:任务
2、Activity状态
3、Activity生命周期
生命周期方法详解:

官方流程图:
package com.bothsunny.apps.a31_activity; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import com.orhanobut.logger.Logger; public class MainActivity extends AppCompatActivity { /**
* 当一个Activity创建时会调用该方法,我们可以在该方法中进行组件的初始化工作
*
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Logger.i("MainActivity-onCreate");
} /**
* 在Activity可见,但还不能进行交互时会调用该方法
* 在onCreate之后调用
*/
@Override
protected void onStart() {
super.onStart();
Logger.i("MainActivity-onStart");
} /**
* 当Activity可以交互时调用
* 在onStart之后调用,该方法被调用后就表示Activity进入激活状态
* resumed状态
*/
@Override
protected void onResume() {
super.onResume();
Logger.i("MainActivity-onResume");
} /**
* 一个从stoped状态的Activity重新被激活时调用
* 接着会调用onStart()方法
*/
@Override
protected void onRestart() {
super.onRestart();
Logger.i("MainActivity-onRestart");
} /**
* 当前Activity被另一个Activity覆盖,失去焦点,但还可见,不能交互
* 那么此时当前Activity进入paused状态(暂停状态)
* 当此状态下Activity重新获取焦点时会再调用onResume()方法
*/
@Override
protected void onPause() {
super.onPause();
Logger.i("MainActivity-onPause");
} /**
* 当前Activity被另一个Activity完全覆盖,不可见且不可交互
* 那么此时当前Activity进入了stoped状态(停止状态)
* 此状态下的Activity被重新显示时,会调用onRestart()方法
*/
@Override
protected void onStop() {
super.onStop();
Logger.i("MainActivity-onStop");
} /**
* 当前Activity被销毁时调用,表示结束生命周期
*/
@Override
protected void onDestroy() {
super.onDestroy();
Logger.i("MainActivity-onDestroy");
}
}
4、Activity传递数据
Android核心组件 Activity组件的更多相关文章
- 详解 Android 的 Activity 组件
Activity 的生命周期 和 J2ME 的 MIDlet 一样,在 android 中,Activity 的生命周期交给系统统一管理.与 MIDlet 不同的是安装在 android 中的所有的 ...
- Android的Activity组件
本章主题是Activity组件:Activity是Android四大组价之一,其重要地位自然不用说.“Activity是应用程序中可见的交互组件的基类,大致上等同于传统桌面应用个程序开发中的窗体.”( ...
- Android 核心组件 Activity 之上
核心组件的特征 1. 必须继承自特定的类(Activity 或者 Activity的子类) 2. 必须注册: 通常是AndroidManifest.xml的 <application> 中 ...
- Android 核心组件 Activity 之下
创建新的Activity的方式: 1. 在相应的文件下 Ctrl + N (Eclipse, Android中不知道是不是) 2. 创建类,继承自Activity或者Activity的子孙类, 并在 ...
- Android中Intent组件详解
Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件.Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的(Goal)或期望(Expectation),叙 ...
- Android源码——Activity组件的启动过程
根Activity启动过程 Launcher启动MainActivity的过程主要分为6个步骤: 一.Launcher向ActivityManagerService发送一个启动MainActivity ...
- Android的四大组件之Activity
Android的四大组件之Activity Activity:是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,B ...
- 解开Android应用程序组件Activity的"singleTask"之谜
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6714543 在Android应用程序中,可以配 ...
- Android窗口管理服务WindowManagerService显示Activity组件的启动窗口(Starting Window)的过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8577789 在Android系统中,Activ ...
随机推荐
- JavaScript知识结构图
画的一个知识结构图,方便理解.
- Web 前端攻防(2014版)
在百度 FEX 团队时写的.有次让我写点前端开发中注意的安全规范,结果写着写着就跑题了,写了一堆纯前端实现的攻击方式...当然还有防范措施. 文章就懒得粘过来了~ 直接贴个地址算了:) http:// ...
- Spring cookie 实战
测试环境搭建 使用Springboot构建web server, 在测试方法中打印接收的cookie. @RestController @RequestMapping("/register/ ...
- C++右值引用浅析
一直想试着把自己理解和学习到的右值引用相关的技术细节整理并分享出来,希望能够对感兴趣的朋友提供帮助. 右值引用是C++11标准中新增的一个特性.右值引用允许程序员可以忽略逻辑上不需要的拷贝:而且还可以 ...
- ASP.NET Web API Selfhost宿主环境中管道、路由
ASP.NET Web API Selfhost宿主环境中管道.路由 前言 前面的几个篇幅对Web API中的路由和管道进行了简单的介绍并没有详细的去说明一些什么,然而ASP.NET Web API这 ...
- epoll LT/ET 深度剖析
EPOLL事件的两种模型: Level Triggered (LT) 水平触发 .socket接收缓冲区不为空 有数据可读 读事件一直触发 .socket发送缓冲区不满 可以继续写入数据 写事件一直触 ...
- JavaScript随笔2
JavaScript的组成:ECMA.DOM.BOM闭包,子函数可以使用父函数的局部变量 函数:arguments是个参数数组oDiv.style.width:只能操作行间的样式.在IE下oDiv.c ...
- select,epoll,poll比较
介绍和比较 http://www.cnblogs.com/maociping/p/5132583.html 比较 http://www.dataguru.cn/thread-336032-1-1.ht ...
- MVC5 网站开发之四 业务逻辑层的架构和基本功能
业务逻辑层在Ninesky.Core中实现,主要功能封装一些方法通过调用数据存储层,向界面层提供服务. 目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 ...
- Chrome浏览器必装的扩展工具
名称 作用 下载地址 Postman 模拟各种http请求 点击下载 JSON Viewer 访问json结果自动视图化 点击下载 Axure RP Extension for Chrome 查看Ax ...