Android:日常学习笔记(5)——探究活动(2)
Android:日常学习笔记(5)——探究活动(2)
使用Intent在活动之间穿梭
什么是Intent
Intent时Android程序中各组件之间进行交互的一种重要方式,他不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。
Intent一般可被用于启动活动、启动服务以及发送广播等场景。分为显式和隐式。
使用显式的Intent
1.创建两个活动
2.在活动一里面显式添加Intent
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Button button = (Button) findViewById(R.id.button);
//在活动中可以通过findViewById来获取布局文件中定义的元素
button.setOnClickListener(new View.OnClickListener() {
//为button注册一个监听器
public void onClick(View v) {
Toast.makeText(FirstActivity.this,"You click the button",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
/**
* intent 构造方法中第一个为上下文,第二个为要穿梭到的活动类,即在上下文活动的基础上打开第二个活动。
* 通过 startActivity(intent)来执行这个Intent。
* */
}
});
}
3.点击按钮穿梭,Back键返回上下文
使用隐式Intent
说明
相比显式Intent,隐式Intent含蓄了很多,它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息,然后交由系统去分析这个Intent,并帮助我们找出合适的活动(可以响应我们这个隐式Intent的活动)去启动。
实例
说明:
红色方框内的内容表明SecondActivity可以响应com.example.zy.android1.ACTION_START这个活动,category指定了可以响应的类型种类,这里是默认值。
更多隐式Intent的用法
使用隐式的Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动,这使得Android多个应用之间的功能共享成为了可能。比如说你想在APP内显示网页,你没有必要去自己实现一个浏览器,而是只需要调用系统的浏览器来打开你的网页即可。
打开指定网页

手机拨号

向下一个活动传递数据
说明
在启动活动时传递数据的思路很简单,Intent提供了一系列putExtra()方法的重载,可以把我们想要传递的数据暂存在Intent中,启动另一个活动后,只需把这些数据再从Intent中取出就可以了。
实例


说明:
getIntent()方法可以获得用于启动SecondActivity的Intent。
返回数据给上一个活动
说明
返回上一个活动并没有一个用于启动活动的Intent来传递数据。Activity有一个startActivityForResult()方法也是用于启动活动的,但是这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。
public void startActivityForResult(Intent intent,int requestCode)
—intent - The intent to start
—requestCode If >= 0, this code will be returned in onActivityResult() when the activity exits.
实例




Android:日常学习笔记(5)——探究活动(2)的更多相关文章
- Android:日常学习笔记(6)——探究活动(4)
Android:日常学习笔记(6)——探究活动(4) 活动的启动模式 standard模式 standard是活动默认的启动模式,在不进行显示定义的情况下,所有活动都会自动使用这种启动模式. stan ...
- Android:日常学习笔记(6)——探究活动(3)
Android:日常学习笔记(6)——探究活动(3) 活动的生命周期 返回栈 Android中的活动是可以叠加的,我们每启动一个新活动,就会覆盖在原来的活动上,点击Back以后销毁最上面的活动,下面的 ...
- Android:日常学习笔记(4)——探究活动(1)
Android:日常学习笔记(4)——探究活动 什么是活动: 活动是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互. 手动创建活动 创建空活动 1.新建活动时选择Add ...
- Android:日常学习笔记(9)———探究持久化技术
Android:日常学习笔记(9)———探究持久化技术 引入持久化技术 什么是持久化技术 持久化技术就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失 ...
- Android:日常学习笔记(7)———探究UI开发(4)
Android:日常学习笔记(7)———探究UI开发(4) UI概述 View 和 ViewGrou Android 应用中的所有用户界面元素都是使用 View 和 ViewGroup 对象构建而成 ...
- Android:日常学习笔记(9)———探究广播机制
Android:日常学习笔记(9)———探究广播机制 引入广播机制 Andorid广播机制 广播是任何应用均可接收的消息.系统将针对系统事件(例如:系统启动或设备开始充电时)传递各种广播.通过将 In ...
- Android:日常学习笔记(8)———探究UI开发(5)
Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...
- Android:日常学习笔记(8)———探究UI开发(3)
Android:日常学习笔记(8)———探究UI开发(3) 详解四种基本布局 前言 布局定义用户界面的视觉结构,如Activity或应用小部件的 UI.您可以通过两种方式声明布局: 在 XML 中声明 ...
- Android:日常学习笔记(8)———探究UI开发(2)
Android:日常学习笔记(8)———探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示 ...
随机推荐
- Pycharm上python unittest不执行"if __name__ == '__main__' "问题or选择非unittest run
转:http://www.cnblogs.com/csjd/p/6366535.html python unittest不执行"if __name__ == '__main__' " ...
- IE的坏脾气——3像素Bug
在一个典型的浮动中,如下面的图片所示:灰色矩形是外部容器,绿色容器在外部容器内向左浮动,未浮动的部分包围着浮动部分.但是IE6在解析这样的浮动时,会莫名的给靠紧浮动部分的未浮动部分添加3个像素的边距. ...
- 【EasyUI】Tabs常用操作及href和content的异同
说明:EasyUI版本1.3.4 ,jQuery版本1.8.3 EasyUI Tabs常见使用方式 按照官方文档的说法,创建Tabs的方式有两种: 静态页面标签 动态JS代码 静态方式主要用于创建一些 ...
- ORACL EXP导出数据说明
转载自:http://www.jb51.net/article/17358.htm Oracle 数据库导出(exp)导入(imp)说明 exp 将数据库内的各对象以二进制方式下载成dmp文件,方 ...
- IOS 键盘协议之中的一个 <UITextFieldDelegate>
1. 设置键盘的第一响应者后,便可通过点击TextField唤出键盘 设置键盘第一响应者方法为: [textField becomeFirstResponder];//此时,textField 输入框 ...
- 探讨把一个元素从它所在的div 拖动到另一个div内的实现方法
故事背景: 接到一个新需求,要求用vue搞,主要是拖动实现布局,关键点有:单个组件拖动,一行多列里面的组件拖动, 单个组件可以拖入一行多列里, 单个组件的拖动好实现,关键是把一个组件拖动到另一个类似 ...
- android中延迟执行某个任务
android App开发在某些情况下需要有延时功能,比如说App首页显示定格3秒,然后自动跳到登录页的情况,这就好比是一个预加载,但是这个预加载可能瞬间就完成了,撑不到3秒钟,这是就要求你做延时处理 ...
- hdu 4704(费马小定理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4704 思路:一道整数划分题目,不难推出公式:2^(n-1),根据费马小定理:(2,MOD)互质,则2^ ...
- poj 3686(拆点+最小权匹配)
题目链接:http://poj.org/problem?id=3686 思路:显然工件为X集,机器为Y集合.由于每个机器一次只能加工一个部件,因此我们可以将一台机器拆成N个点,至于部件与机器之间连多大 ...
- 二、Android应用的界面编程(七)ViewAnimator及其子类[ ViewSwitcher、ImageSwitcher、TextSwitcher、ViewFlipper ]
ViewAnimator是一个基类,它继承了FrameLayout.因此它表现出FrameLayout的特征,可以将多个View组“叠”在一起. ViewAnimator可以在View切换时表现出动画 ...
说明: