文档章节

界面开发组件Activity详解

jz116
 jz116
发布于 2012/12/16 00:08
字数 597
阅读 442
收藏 13

Activity是Android中最核心的应用程序组件,是用于控制显示界面的组件。一个Activity就是一个类,该类继承了android.app.Activity,并需要重写onCreate方法,同时在AndroidManifest.xml中进行注册。

在创建Activity时需要注意几点:
1.Activity的控件初始化一般在onCreate方法中完成,比如setContentView方法装载View,而不能在Activity的构造方法中完成初始化控件。
2.Activity中必须要有一个无参的构造方法,因为Activity不是由手动创建,而是通过Intent对象和startActivity方法由系统内部创建。

Activity的生命周期
七个生命周期方法:
onCreate();当Activity第一次被调用时触发。
onStart();当Activity能被用户看到时触发。
onResume();当Activity获得用户焦点时触发,即用户可以对Activity进行操作时。
onPause();当准备启动另一个Activity时被触发。
onStop();当另一个Activity启动完成,而原Activity不可见时被触发。
onRestart();当一个处于shop状态的Activity被重新启动时触发。
onDestroy();手动调用了Activity的finish方法时、或当系统资源不够用时、或点击了Android的返回按钮时都会被触发。

第一次被调用时:onCreate();-->onStart();-->onResume();
组件失去焦点时:onPause();-->onStop();
重新获得焦点时:[onPause]-->onResume();
                          [onStop]-->onRestart();-->onStart();-->onResume();

Activity之间传递数据大致有四类方式:
1.通过Intent进行数据传递。
2.通过定义Activity的静态变量的方式传递。(不推荐)
3.通过系统剪切板传递字符数据(对象类型可考虑将对象序列化后保存)。
4.通过定义一个全局对象来保存一些长驻内存的数据。(需继承android.app.Application,带无参构造方法,在AndroidManifest.xml中进行注册)

Intent对象包含了一组信息(可以跨应用进行传递调用,通过startActivity(intent)实现Activity间的切换):
1.Componentname
指定启动哪个组件,Intent还可以启动Service(服务)和Broadcast Receiver(广播接收器)。
intent.setClass(Context,class);

2.Action
指定被启动的组件做什么动作,官方自带了一些动作常量:ACTION_CALL、ACTION_EDIT、ACTION_MAIN等等。
intent.setAction(String);

3.Data
用于保存组件间传递的数据对象。MIME的数据类型。

4.Category

5.Extras
额外附加的键值队数据(Key-Value)

6.Flags

© 著作权归作者所有

jz116
粉丝 0
博文 5
码字总数 2382
作品 0
广州
私信 提问
加载中

评论(1)

SausageLee
SausageLee
很有道理的样子
AndroidManifest.xml详解

我们在进行APP开发的时候都会遇到一个文件:AndroidManifest.xml。从刚开始进行Android开发,到现在已经过去了几个月,还是对这个文件一知半解,只知道它是配置用的。但是这文件里的东西具体...

闪电的蓝熊猫
2018/05/14
0
0
Android多线程:IntentService使用教程(含实例讲解)

前言 多线程的应用在Android开发中是非常常见的,常用方法主要有: 今天,我将手把手教你使用(含实例介绍)。 目录 /** 在构造函数中传入线程名字 /** 复写onHandleIntent()方法 根据 Inte...

Carson_Ho
05/20
0
0
Android零基础入门第79节:Intent 属性详解(上)

Android应用将会根据Intent来启动指定组件,至于到底启动哪个组件,则取决于Intent的各属性。本期将详细介绍Intent的各属性值,以及 Android如何根据不同属性值来启动相应的组件。 Intent 对...

鑫鱻
2017/10/19
11
0
一文带你全面了解MVC、MVP、MVVM模式(含实例讲解)

前言 在开发中,当你梳理完需求后,你要做的并不是马上写下你的第一行代码,而是需先设计好整个项目的技术框架 今天,我将全面介绍开发中主流的技术框架、 与 模式,并实例讲解模式,希望您们...

Carson_Ho
08/15
0
0
Android零基础入门第84节:引入Fragment原来是这么回事

随着大众生活水平的提高,再加上移动互联网的迅速发展,几乎每个人都至少拥有一台搭载Android系统的移动设备。Android设备的多样性给我们带来了很大的便捷,各Android设备拥有不同分辨率和不...

鑫鱻
2017/10/26
46
0

没有更多内容

加载失败,请刷新页面

加载更多

新建作业20191011121223

2.编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound,Sally shouted,"By the Great Pumpkin,what was that!" #include<stdio.h>int main(){printf("\a");......

电子197朱妍
37分钟前
6
0
家庭作业——苗钰婷

2 编写一个程序,发出一声警报,然后打印下面的文本: Startled by the sudden sound, Sally shouted, "By the Great Pumpkin, what was that! #include<stdio.h>int main(){......

OSC_Okruuv
58分钟前
8
0
经典系统设计面试题解析:如何设计TinyURL(一)

原文链接: https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
59分钟前
8
0
2.面向对象设计原则(7条)

开闭原则 开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 实现方法 可以通过“抽象约束、封装变化”来实...

Eappo_Geng
今天
12
0
8086汇编基础 debug P命令 一步完成loop循环

    IDE : Masm for Windows 集成实验环境 2015     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   ......

志成就
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部