Android学习之路(一)——Intent的显式和隐式用法
来源:互联网 发布:数据字典中有四类条目 编辑:程序博客网 时间:2024/05/17 21:53
大学学的专业方向就是android应用开发,不过后来由于种种原因并没有从事android工作,而是转去从事U3D的开发。久而久之android的知识也忘了不少,最近因为一些原因决定将android的知识再捡回来,但是因为以前学的也不是很扎实,于是决定从头开始,从基础开始。
最近刚刚看到利用Intent进行Activity的跳转,然后出了一些问题,虽然最后解决了,而且在很多人看来是很小的问题。但是觉得有必要写下来,总结一下,有个记录,避免以后再犯。
Activity,相信大家都知道,活动——Android四大组件之一,也是一个App的门面。一个好的App肯定是由多种多样五彩缤纷的Activity组合起来的。而Activity之间的跳转就涉及到了Intent的使用,Intent分为显式使用和隐式使用。
1、Intent的显式使用
一本Android的教程在介绍到Intent的使用的时候,大部分都只讲解它的显式用法,就像下面这个例子当中这样。
Intent intent = new Intent(MainActivity.this, AimActivity.class);startActivity(intent);
就像上面这样,定义一个Intent变量,然后在初始化的时候明确指定了要跳转的Activity是AimActivity这个类,而当前的类则是MainActivity这个Activity。这种明确说明的用法就叫Intent的显式用法,初始化前面一个参数是当前所处的Activity,而后面一个参数则是你要跳转的目标Activity。
2、Intent的隐式使用
Intent的隐式使用,给我的感觉就有点像是筛选一样,与显式相反的是它并不明确说明要跳转的是那一个Activity,而是给一些设定的条件,通过这些条件去筛选符合的Activity然后去跳转。例如下面给要跳转的Activity在AndroidManifest.xml中设置一个action标签,通过action标签来进行跳转。
<activity android:name=".AimActivity" android:label="@string/app_name"> <intent-filter> <action android:name="com.example.test.action_Aim" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
上面是一个定义好action标签的Activity,接下来将对这个Activity进行调用。
Intent intent = new Intent("com.example.test.action_Aim");startActivity(intent);//或者用下面这种方式定义Intent变量//Intent intent = new Intent();//intent.setAction("com.example.test.action_Aim");
我在练习隐式调用的时候出现了一个,现在看来比较低级的错误,这里要写出来。那就是在AndroidManifest.xml中配置新的Activity时为它设置单独的标签去筛选时,它的默认category不能丢,必须要加上,就是下面这句。
有的人可能认为我只通过action标签去筛选,这个category标签设不设置就无所谓了,就会不加。但是如果不加默认的category标签就会导致Activity中无法寻找到符合条件的Activity,我就是一直报这个错但是没有立马反应过来是这个原因,浪费了好长时间。而我想说的是,哪怕你还给category标签也设置限定条件,这个默认的还是要加的,就像下面的代码这样。
<activity android:name=".AimActivity" android:label="@string/app_name"> <intent-filter> <action android:name="com.example.test.action_Aim" /> <category android:name="com.example.test.category_Aim" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
隐式调用Intent进行Activity的跳转还有好几种用法,例如不同应用程序之间的跳转等等,大家可以自己去学习调研,我这里讲出了一些我在学习Intent碰到的要点,希望能够给一些人提供帮助。这是我的第一篇博客,想到哪写到哪,也没个构思,挺乱的。
1 0
- Android学习之路(一)——Intent的显式和隐式用法
- Android学习记录(7)—Intent中显示意图和隐式意图的用法
- Android成长之路(7)——关于隐式Intent的用法
- Android—显示Intent和隐式Intent的区别
- Android学习记录--Intent中显示意图和隐式意图的用法
- Intent之学习一(显式与隐式)
- Android开发学习——显式intent和隐式intent(1)
- Android隐式启动:Intent的用法
- Android学习之基于显式的Intent的通讯
- Android学习之基于隐式的Intent的通讯
- 学习android 显式Intent和隐式Intent
- android学习之Intent隐式意图
- Android Intent学习之 隐式意图&IntentFilter的作用
- android学习笔记——Intent的解析(Intent的隐式调用)
- Android:Intent 显示和隐式 学习
- Android学习笔记(一) Intent用法总结
- android学习笔记(一)activity的基本用法和创建,bundle如何传递数据,intent的用法
- Android setArguments()和 Intent.putExtra()的用法之却别
- Handler Looper MessageQueue之Handler
- 一个不错的html5播放器
- 导航地图是怎样绘制出来的?
- OAUTH2.0官方文档中文翻译
- 信息学奥林匹克竞赛-CPU制造商
- Android学习之路(一)——Intent的显式和隐式用法
- 那些所谓的努力,其实是你的无意义无价值的消耗
- 内存溢出OutOfMemoryError: PermGen spac 的解决方法
- AlertDialog对话框自定义大小,加载网络请求,点击不消失
- 找到一本不错的Linux电子书,可百度搜《Linux就该这么学》。
- 配置vim
- 在R中使用支持向量机(SVM)进行数据挖掘(下)
- php imagepng生成图片加文本或水印
- android打包上传市场参考