初学安卓开发随笔之 Intent 用法
首先,对于安卓开发,目前世界上流行的是使用的是Android studio 2.0 。(hh 学着来呗 书上说用这个,,)
今后就定一个计划 每天更新一个Android 随笔,增强一下自控力吧!!!
(∩_∩) 相信自己可以做到!!!
第一天 Intent用法

直接上代码
可见intent用法大体上有三种
- 显示调用 构造出intent后 传入FirstActivity.this 作为上下文 传入SecondAcctivity.class 作为目标活动 最后用startActivity执行这个Intent
- 隐式调用
- 首先 给出要被动响应的活动 在AndroidManifest.xml里加上 action 和 category(MY_CATEGORY这个是后面可以调用函数加上的 暂时可以不加)

- 然后即可
Intent intent = new Intent("com.example.activitytest.ACTION_START");
startActivity(intent); 进行隐式调用 其中 intent这种创建方法便是传入了action的字符串,表明我要启动的活动,category 这里是default表示为默认的category。 每个Intent可以指定一个action 但是可以指定多个category 下面可以通过这句来增加一个category。 intent.addCategory("com.example.activitytest.MY_CATEGORY");- 注意这里 对应一定要在要启动的活动的 intent-filter 加入 category 声明!!!
- 首先 给出要被动响应的活动 在AndroidManifest.xml里加上 action 和 category(MY_CATEGORY这个是后面可以调用函数加上的 暂时可以不加)
- 其他用法
- 打开网页 这里首先 要配置<intent-filter>里的data标签!!! 使得ThirdActivity可以响应所有的http协议的intent
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent); - 打电话 协议为tel
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent); - 传数据
- 首先 你想把活动FirstActivity的数据传给活动SecondActivity
- String data = "hello SecondActivity";
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("extra_data", data);
startActivity(intent); 用的是putExtra 传递数据 extra_data为键值 后面的data为实际要传的数据!!! - 然后在SecondActivity 先用getIntent获得用于启动本活动的intent 在调用get X Extra获取传递的数据 X代表 类型 有String Boolean Int等等

- 不仅仅如此 还可以传递数据给上一个活动哦。。。 方法是用 startActivityForResult方法来 做到对一个活动在销毁时返回一个本活动的结果给上一个活动
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, 1); 这里用startActivityForResult启动SecondActivity 而不是startActivity。其中1是请求码 只要是唯一值就可以!!!
这里在SecondActivity里添加了活动结束后的返回数据逻辑 setResult方法是用来专门向上一个活动返回数据的,putExtra把数据存在了intent里。 一般第一个参数有RESULT_OK 和 RESULT_CANCELED 第二个参数是带有数据的intent 。 finish 销毁活动。
由于返回了FirstActivity活动 故在这里重写这个方法来接受返回的数据。
requestCode是请求码 resultCode是setResult时设置的处理结果 data就是传入的带数据的intent
- !!!这里是通过点击按钮结束的活动从而进行传递数据 如果是按下back键回到FirstActivity的 我们可以重写 onBackPressed()方法来解决这个问题啦
- 打开网页 这里首先 要配置<intent-filter>里的data标签!!! 使得ThirdActivity可以响应所有的http协议的intent
以上是小叶子自己学习中做的一些笔记哈,欢迎大家一起讨论,指出不足,共同进步!!!
初学安卓开发随笔之 Intent 用法的更多相关文章
- 初学安卓开发随笔之 Menu、toast 用法、活动的四种启动模式 以及 一个方便的Base活动类使用方法
Toast toast 是安卓系统的一种非常棒的提醒方式 首先定义一个弹出Toast的触发点,比如可以是按钮之类 其中 Toast.LENGTH_SHORT是指显示时长 还有一个内置变量为Toast. ...
- 安卓开发_startActivityForResult的详细用法
一个需求:一个activity到另一个activity进行一些设置,返回第一个activity的时候 获取第二个activity设置的数据 百度了一下,发现startActivityForResult ...
- 学习安卓开发[4] - 使用隐式Intent启动短信、联系人、相机应用
在上一篇学习安卓开发[3] - 使用RecyclerView显示列表中了解了在进行列表展示时RecyclerView的使用,本次记录的是在应用中如何通过隐式Intent调用其它应用的功能,比如发短信. ...
- 安卓开发学习笔记(三):Android Stuidio无法引用Intent来创建对象,出现cannot resolve xxx
笔者在进行安卓开发时,发现自己的代码语法完全没有问题.尤其是创建intent对象的时候,语法完全是正确的,但是Android Stuidio却显示报错,Intent类显示为红色,如图所示: 代码如下所 ...
- 安卓开发30:AsyncTask的用法
http://blog.csdn.net/initphp/article/details/10392093 安卓开发笔记系列(43) 在开发Android应用时必须遵守单线程模型的原则: Andro ...
- WPF开发随笔收录-仿安卓Toast
一.前言 在项目中,经常需要用到消息提醒功能,在以前接触安卓开发那会使用过Toast,于是打算在WPF上也来模仿一个,话不多说,撸起袖子干起来! 二.正文 1.首先新建一个工程,工程的目录如下 2.编 ...
- 更多隐式Intent用法
上几篇无论是显示的Intent或者隐式的Intent,都是要跳转的自己添加指定的页面,如果想要跳转到百度首页或者跳转到联系人面板等,前面的知识显然是很不实用的.这里,将要针对其它的一些Intent用法 ...
- 学习安卓开发[5] - HTTP、后台任务以及与UI线程的交互
在上一篇学习安卓开发[4] - 使用隐式Intent启动短信.联系人.相机应用中了解了在调用其它应用的功能时隐式Intent的使用,本次基于一个图片浏览APP的开发,记录使用AsyncTask在后台执 ...
- 安卓开发(3)—1— Activity
安卓开发(3)-1- Activity 3.1 Activity是什么: 在前面安卓概述中有提到,Activity是Android开发中的四大组件,所有在app里可以看到的东西都是Activity里面 ...
随机推荐
- hibernate操作步骤(代码部分)
1.加载hibernate的核心配置文件 2.创建SessionFactory对象 3.使用SessionFactory创建Session对象 4.开启事务(手动开启) 5.写具体逻辑crud,增删改 ...
- maven问题:org.springframewor.web.filter.CharacterEncodingFileter不能强转为javax.servlet.Filter
使用maven搭建ssm(SpringMVC.Spring .Mybatis)项目,启动时报: java.lang.ClassCastException:org.springframewor.web. ...
- 利用浏览器查找font-family的css编码
提供一种利用Chrome快速查找字体编码的小技巧 打开浏览器,按下键盘F12 点击Console控制台 输入escape("要查询的字体中文名称")(注意:括号与引号都是英文输入法 ...
- javascript中document.form[formName][]的意思
近来重新学习javascript发现还有很多知识点模糊,今天就javascript中的document.forms[formName][inputName]进行说明: <!DOCTYPE htm ...
- MongoDB 3.4版本, C# 驱动 2.4 操作
private static string _connStr = "mongodb://127.0.0.1:27017"; private static string _dbNam ...
- SQL 调用存储过程
--1调用存储过程 exec 存储过程名 参数 --2当表使用 select a.*,b.* from tb b inner join ( select * from openrowset('sqlo ...
- AutoMapper5.0创建对象方法更新
/// <summary> /// 单个对象映射 /// </summary> public static TDestination MapTo<TSource, TDe ...
- PHP+MySql实现后台数据的读取
我们使用的是PHP 的php_mysqli扩展 首先了解一些基础的用法 1.连接数据库使用 mysqli_connect() 参数:①主机地址 ②MYSQL用户名 ③MYSQL密码 ④选择 ...
- 如何在非 React 项目中使用 Redux
本文作者:胡子大哈 原文链接:https://scriptoj.com/topic/178/如何在非-react-项目中使用-redux 转载请注明出处,保留原文链接和作者信息. 目录 1.前言 2. ...
- javascript之ProtoBuf在websocket中的使用
因为ProtoBuf的序列化效率和大小都非常好,所以它在网络通信上面应用越来越多:而webosocket也随着web3.0应用越来越广泛,而将这两个结合在一起的也会慢慢形成一种趋势:本人是为了测试自已 ...