第一行代码阅读笔记----显示隐式Intent的基本用法
1、显示Intent
意图明显,通过Intent启动另外一个活动,这是安卓中各组件进行交互的一种重要方式。
一般用于启动活动,启动服务,发送广播等场景。
实现方法,这里我只说思路,实践还是要自己实操才能明白:
1、首先多创建一个activity,命名为别的,这个就是待会咱们要调用的另外一个activity,可以跟主activity一样。
2、创建完后记得在AndroidManifest.xml中为新创建的activity进行注册。
同样的,要将其包括在<application分支下
ep:
<activity android:name=".SecondActivity" >
</activity>
3、由于我们创建的这一个新的活动并不是主活动,所以不需要配置<intent-filter>标签里的内容,所以不用理会
4、使用Intent实现调用另外一个activity
Intent有多个构造函数的重载,其中一个是 Intent(Context packageContext, Class<?> cls)。
这个构造函数接收两个参数,第一个参数 Context 要求提供一个启动活动的上下文,第二个
参数 Class 则是指定想要启动的目标活动,通过这个构造函数就可以构建出 Intent 的“意图”。
所以,称做显示Intent
ep:
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//我在按键单击事件中实现这个过程
//当我按下button的时候,此时FirstActivity就会去调用SecondActivity,跳到另外一个界面去
//返回主界面也很简单,只要按下手机上的back键就可以了
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
//启动活动
startActivity(intent);
}
});
2、隐式Intent
按照作者的书籍可以理解为,隐式就没有那么高调的去启动,而是偷偷摸摸的,比较低调,含蓄的作风。
它并不明确的想要去启动哪一个活动,而是通过更为抽象的action和category等信息,交由系统去分析这个
Intent,并去找出合适的活动去启动。
那么如何隐式启动第二个活动呢?
1、还是一样,和上面显式的一样第一个步骤
2、打开AndroidManifest.xml配置<intent-filter>标签里的内容
<activity android:name=".SecondActivity" >
<intent-filter>
//指明了当前活动能够相应的Intent中带有的category
//这里要求只有action和category中的内容同时能够匹配上Intent中指定的action和category时,这个活动才能响应Intent
<action android:name="com.example.activitytest.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
3、在事件中添加Intent
ep:
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.example.activitytest.ACTION_START");
startActivity(intent);
}
});
第一行代码阅读笔记----显示隐式Intent的基本用法的更多相关文章
- 第一行代码阅读笔记---AndroidMainfest.xml分析
按照这本书的指引,我随作者一样创建了一个安卓应用,开始了安卓开发的启程. 找到AndroidMainfest.xml这个文件,打开后看到了我创建的Activity在这个文件里被成功注册,文件内容如下: ...
- 第一行代码阅读笔记---详解分析第一个Android程序
以下是我根据作者的思路,创建的第一个Android应用程序,由于工具强大,代码都自动生成了,如下: package com.example.first_app; import android.os.B ...
- 《Android第一行代码》笔记
学习Android开发差点儿相同有两年时间了.期间也做了大大小小的一些项目.近来抽出闲暇想把Android基础强化一下,之前在网上看到了郭霖郭大神的几篇博客.从中受益不少.于是花了近一周时间看完了郭神 ...
- $《第一行代码:Android》读书笔记——第2章 Activity
(一)创建活动 1.创建活动类 创建没有Activity的项目,发现src文件夹是空的,手动创建一个包com.jyj.demo1,在包中添加一个名为MainActivity的class,该MainAc ...
- android隐式intent使用场景解析
Android 隐式intent相信大家都有用过,大部分场景我们用显式intent已经能满足我们的业务需求,隐式intent大部分都是用来启动系统自带的Activity或Service之类的组件.昨天 ...
- Android开发学习笔记:浅谈显示Intent和隐式Intent
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/655132 ...
- python学习笔记1--python简介和第一行代码编写
一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...
- $《第一行代码:Android》读书笔记——第6章 数据持久化
主要讲述了Android数据持久化的三种方式:文件存储.SharedPreference存储.SQLite数据库存储. (一)文件存储 其实Android中文件存储方式和Java的文件操作类似,就是用 ...
- 《第一行代码》学习笔记7-活动Activity(5)
1.Intent中只能指定一个action,但却能指定多个category. 2.使用隐式Intent,不仅可以启动自己程序内的活动,还可以启动其他程序的活动,使得Android应用程序之间 的功能共 ...
随机推荐
- tcp窗口滑动以及拥塞控制(转)
转自:http://blog.chinaunix.net/uid-26275986-id-4109679.html TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥 ...
- 2015 ICL, Finals, Div. 1 Ceizenpok’s formula(组合数取模,扩展lucas定理)
J. Ceizenpok’s formula time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- [APIO2016]
2016的题貌似是韩国棒子出的,好丧啊.... 看了题解还想了好久...... ------------------------------------------------- A.Boat 有n个 ...
- Postgres中postmaster代码解析(中)
今天我们对postmaster的以下细节进行讨论: backend的启动和client的连接请求的认证 客户端取消查询时的处理 接受pg_ctl的shutdown请求进行shutdown处理 2.与前 ...
- xml 和数组的相互转化
数组转化为xml: function arrtoxml($arr,$dom=0,$item=0){ if (!$dom){ $dom = new DOMDocument("1.0" ...
- C#之Action和Func的用法
以前我都是通过定义一个delegate来写委托的,但是最近看一些外国人写的源码都是用action和func方式来写,当时感觉对这很陌生所以看起源码也觉得陌生,所以我就花费时间来学习下这两种方式,然后发 ...
- Optaplanner逐步学习(0) : 基本概念 - Optaplanner,规划问题, 约束,方案
之前的文章中,分别从APS,排产到规划引擎叙述了一些理论基础:并介绍了一些Optaplanner大概的情况:并一步步将Optaplanner的示例运行起来,将示例源码导进Eclipse分析了一下它的H ...
- js 删除字符串中所有空格
//去除头尾和中间空格,制表符 function trimSpaces(Str){ var ResultStr = ""; ...
- JavaScript数据结构和算法----栈
前言 栈是一种遵循后进先出(LIFO)原则的有序集合,新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另外一端就叫栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底.可以想象桌上的一叠书,或者厨房里的 ...
- jquery常用函数
.text() //获得或更改元素文本: .html() //获得或更改元素标签: .val() //获得或更改input值: .css() //获得或更改元素样式: .click() //点击触发事 ...