文档章节

Android必备:Activity 活动 和 Intent 意图 的学习整理

Realfighter
 Realfighter
发布于 2015/03/04 18:49
字数 823
阅读 424
收藏 14

   看这里:Android必备:Activity 活动 和 Intent 意图 的学习整理

    在Android必备:Android UI控件的了解与学习中, 对Android UI做了初步的了解和学习,本篇继续进行Android开发学习的整理。Android应用通常由一个或多个基本组件组成,最常用的就是 Activity,本篇我们就来整理一下Activity活动的相关知识,以及Activity之间相互通信的Intent意图。


    首先,我们来简单的介绍一下Activity 活动,如图所示(来自百度百科):

 

    Activity是为响应用户操作而显示的可视化用户接口,一个应用程序可以有一个或多个Activity,每个Activty的启动,销毁等都包含一系 列的操作,Activity的学习最主要的是对其生命周期的理解,之前有一篇简短的关于Activity生命周期的整理,可以参考这里Android必备:Android Activity的生命周期,这里只引用下面的图片简单说明:

    关于Activity的创建很简单,只需要编写一个继承android.app.Activity的子类并在AndroidManifest.xml声明即可,类似下面的配置:

< activity
         android:name = ".activity.StartActivity"
         android:configChanges = "keyboardHidden|orientation" >
</ activity >

    上面的android:configChanges="keyboardHidden|orientation",用于配置应用切换屏幕时是否重新调用声明周期,这里表示不重新调用,这里有详细的说明android:configChanges属性

 

    下面,我们来整理一下Intent意图,首先是简单的介绍(来自百度百科):

    Activity之间的通信可以使用Intent,在启动另外的Activity的时候,我们可以传递Intent意图,通过Activity类提供的 startActivity方法,Intent类提供了一个从“发件人”到“收件人”的构造方法Intent(Context packageContext, Class<?> cls),接收当前的Activity的context以及下一个Activity的class,同样的Intent类也提供了一些封装数据的方法,通过 类似于Map的Bundle类可以设置一些数据,这里不再赘述。

 

    这里提到了数据的存储,在Android中也提供了多种数据存储的方式,持久化的操作可以通过数据库或SharedPreferences,SharedPreferences 使用 xml 格式为 Android 应用提供一种永久的数据存储方式,它存放在Android文件系统的 /data/ data/your_app_package_name/shared_prefs/目录下,可以被处在同一个应用中的所有 Activity 访问,通过类似下面的方式可以进行数据持久化的操作,如下图(引自详解 Android 的 Activity 组件):


   总结:Activity是Android开发中非常重要的一个学习点,理解了Activity的生命周期,以通信Intent进行Android组件之间的通信和数据传递,才真正的算是Android入门了。最后感谢一下网络上的各路大神整理的文章,受益匪浅。

© 著作权归作者所有

共有 人打赏支持
Realfighter

Realfighter

粉丝 136
博文 139
码字总数 144659
作品 2
洛阳
程序员
Android的Notification研究

Android的Notification研究 最近在研究Android,遇到了一些Notification(通知)的问题: 1、Notification如何传递参数 2、Notification如何区别化 3、从Intent(意图)寻找Activity(活动)说起,...

天下杰论
2013/03/12
0
0
Activity启动模式的理解

一、理解 Tasks and Back Stack(任务和后台堆栈) 一个 App 对应一个 Task,该app 内的所有 activity 被安排在一个后台堆栈里。 多窗口模式下:一个windows下可能由多个 Task,系统为每个窗...

Agnes2017
05/04
0
0
Android中隐式意图(Intent)用法

Intent对象在Android应用开发中起到很大的作用,例如激活组件(Activity,Service 等组件)或者携带数据的功能,相信大家在开发中经常会用到这些功能,Android中的意图分为显式意图和隐式意图...

程序袁_绪龙
2015/01/14
0
0
【转】Android深入探究笔记之三 -- Intent (隐式意图和显示意图)

Intent Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) , Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递 Intent 来执行动作...

rotiwen
2011/12/21
0
0
android activity详解一:概述

概述 Activities 是一个程序的组件之一。它的主要功能是提供界面。 一个程序一般由多个Activity组成,各activities之间关系很松散,它们之间没有直接的关联。必须有一个activity被指定为主a...

晨曦之光
2012/03/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯三大运维开源项目齐聚“OSCAR开源先锋日”

10月20日,腾讯开源三大运维开源项目——TARS、蓝鲸和织云Metis首次集结,参与了由中国信息通信研究院主办、云计算标准与开源推进委员会承办的 “OSCAR开源先锋日”。会上,腾讯开源团队与前...

腾讯开源
25分钟前
1
0
JAVA并发-从缓存一致性说volatile 讲的很好

学过计算机组成原理的一定知道,为了解决内存速度跟不上CPU速度这个问题,在CPU的设计中加入了缓存机制,缓存的速度介于CPU和主存之间。在进行运算的时候,CPU将需要的数据映射一份在缓存中,...

码代码的小司机
43分钟前
1
0
IDEA 调试功能

1.设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。 2.开启调试会话 点击红色箭头指向的小虫子,开始进入调试。 IDE下方出现Debug视图,红色的箭头指向的是现在调试程序...

狼王黄师傅
51分钟前
1
0
Java面试170题

1、面向对象的特征有哪些方面? 2、访问修饰符public,private,protected,以及不写(默认)时的区别? 3、String 是最基本的数据类型吗? 4、float f=3.4;是否正确? 5、short s1 = 1; s1 = ...

lanyu96
56分钟前
0
0
优雅的写出类

前言 虽然现在已经是ES6的时代,但是,还是有必要了解下ES5是怎么写一个类的。 本文详述JavaScript面向对象编程中的类写法,并分步骤讲述如何写出优雅的类。 一、例子 例子为一个轻提示组件T...

peakedness丶
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部