第一行代码阅读笔记----显示隐式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应用程序之间 的功能共 ...
随机推荐
- UVA753:A Plug for UNIX
题意:给定一些插座和一些插头,还有一些单向接头,比如A->B 接头可以串联A->B->C->D 使得插座和插头匹配数目最大 题解: 首先接头可以用Floyd处理 这题可以转化为 ...
- [Codeforces]849E Goodbye Souvenir
又是一道比较新的模板题吧,即使是在Codeforces上小C还是贴了出来. Description 给定一个长度为n的序列a1~an,每个元素代表一种颜色.m次操作,每次操作为两种中的一种: 1 p ...
- django rest-framework 1.序列化 一
上图为项目完整的目录结构 一.入门 需要先安装需要使用到包 pip install django pip install djangorestframework 先来创建一个新项目 django-ad ...
- java实现生产者/消费者的三种方式
package com.wenki.thread; import java.util.LinkedList; import java.util.concurrent.LinkedBlockingQue ...
- P2P技术详解(三):P2P技术之STUN、TURN、ICE详解
1.内容概述 在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P ...
- C语言第二次作业-----顺序结构
一:改错题 (1)输出指定信息: 将给定源代码输入编译器: 执行编译命令,发现编译器报错,错误信息如下: 经检查,发现源程序将"stdio.h"误拼为"stido.h&q ...
- python3全栈开发-补充UDP的套接字、操作系统、并发的理论基础
一.基于UDP的套接字 udp套接字简单示例 import socket ip_port=('1.1.1.1',8181) BUFSIZE=1024 udp_server_client=socket. ...
- 浅谈Trie树(字典树)
Trie树(字典树) 一.引入 字典是干啥的?查找字的. 字典树自然也是起查找作用的.查找的是啥?单词. 看以下几个题: 1.给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单 ...
- javascrpt_数组学习
1.构造函数 var arr = new Array(); Array 构造函数有一个很大的缺陷,就是不同的参数,会导致行为不一致. 因此,不建议使用它生成新数组,直接使用字面量是最好的做法. 2.静 ...
- 【ASP.NET Core】给中间件传参数的方法
最近博客更新频率慢了些,原因有三: 其一,最近老周每星期六都录 ASP.NET Core 的直播,有些内容在视频里讲过,就不太想在博客里面重复.有兴趣的话可以去老周的微博看,或者去一直播,直播帐号与微 ...