隐式意图和显式意图

 

隐式意图: 不知道将要跳转的是哪一个类, 无法引用到类. 只知道其动作(action), 类型(mimeType)和附加信息.

* 原理:开启目标activity,系统去清单文件匹配,如果匹配成功则开启activity;如果匹配失败则抛出没有找到这个activity的异常

* 缺点:效率低,代码数据复杂

* 优点:可以开启自己和其他应用程序里的activity界面

* 应用场景:用于开启系统的activity界面

// 以下是打开系统中浏览器页面.

Intent intent = new Intent();

intent.setAction("android.intent.action.VIEW");

intent.addCategory("android.intent.category.DEFAULT");

intent.addCategory("android.intent.category.BROWSABLE");

intent.setData(Uri.parse("http://www.baidu.com"));

startActivity(intent);

显示意图:明确知道并且可以引用的是哪一个Activity类对象

* 原理:直接指定要开启activity类的字节码

* 编写步骤:

Intent intent = new Intent(this,ThirdActivity.class);
startActivity(intent);

* 优点:效率高,代码书写简单

* 缺点:只能开启自己应用程序里的activity界面

* 应用场景:开启自己应用程序里的activity组件


Copyright ?2016 JI.C.F. All Rights Reserved.

时间: 2024-08-24 11:30:25

隐式意图和显式意图的相关文章

1.扩展方法2.接口的隐式实现和显式实现

1.扩展方法:必须写在一个静态类里面,具体见代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 namespace ConsoleApplication1 {     class Program     {         static void Main(string[] args)         {             Student s = new Stud

iOS Core Animation Advanced Techniques(四):隐式动画和显式动画

隐式动画 按照我的意思去做,而不是我说的. -- 埃德娜,辛普森 我们在第一部分讨论了Core Animation除了动画之外可以做到的任何事情.但是动画师Core Animation库一个非常显著的特性.这一章我们来看看它是怎么做到的.具体来说,我们先来讨论框架自动完成的隐式动画(除非你明确禁用了这个功能). 事务 Core Animation基于一个假设,说屏幕上的任何东西都可以(或者可能)做动画.动画并不需要你在Core Animation中手动打开,相反需要明确地关闭,否则他会一直存在.

CoreAnimation4-隐式动画和显式动画

事务 Core Animation基于一个假设,说屏幕上的任何东西都可以(或者可能)做动画.动画并不需要你在Core Animation中手动打开,相反需要明确地关闭,否则他会一直存在. 当你改变CALayer的一个可做动画的属性,它并不能立刻在屏幕上体现出来.相反,它是从先前的值平滑过渡到新的值.这一切都是默认的行为,你不需要做额外的操作. 这看起来这太棒了,似乎不太真实,我们来用一个demo解释一下:首先和第一章“图层树”一样创建一个蓝色的方块,然后添加一个按钮,随机改变它的颜色.代码见清单

C++学习笔记36 模版的显式具体化和显式实例化

C++的模版有时候很可能无法处理某些类型. 例如: #include <iostream> using namespace std; class man{ private: string name; int data; public: man(string s,int i):name(s),data(i){ } void show()const{ cout<<"this name is "<<name<<" ,data=&quo

C++中函数模板,显式具体化,显式实例化:

函数模板 形如: template<typename T>  //没有分号 void func(T &a,T &b); 称为函数模板,其中,template和typename为关键字,typename可以用class来替代.T(可以用其他的名称)表示一种泛型,既可以表示int型,也可以表示double或其他类型,将它想象成C++里面的数据类型的集合. 也就是说: void func(T &a,T &b)= void func(int &a,int &am

JDK并发包温故知新系列(五)—— 显式锁与显式条件

显式锁-Lock与ReadWriteLockJDK针对Lock的主要实现是ReentrantLock,ReadWriteLock实现是ReentrantReadWriteLock.本文主要介绍ReentrantLock. ReentrantReadWriteLock两把锁共享一个等待队列,两把锁的状态都由一个原子变量表示,特有的获取锁和释放锁逻辑. ReentrantReadWriteLock的基本原理:读锁的获取,只要求写锁没有被线程持有就可以获取,检查等待队列,逐个唤醒等待读锁线程,遇到等待

隐式游标和显式游标

隐式游标的例子

intent 显式意图和隐式意图之Activity的激活方式

对于intent主要的分类主要包括隐式意图和显式意图.显式意图通常主要是启动本应用中的Activity之间的数据,而隐式意图则常见于启动系统中的某些特定的动作,比如打电话,或者是跨应用的Activity启动.所以激活本应用的Activity用显式意图,如果MainActivity与你要激活的Activity不在同一个包下,在同一个工程下,在采用显式意图激活时,一定要写明当前Activity所在的包名,否则可能会激活不了.最后要写上startActivity(intent);,开启Activity

显式意图,隐式意图。。带值传递意图

显式意图1 显式意图2 带值传递意图1 带值传递意图2 隐式意图1 隐式意图2