初学安卓开发随笔之 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里面 ...
随机推荐
- 基于C#的接口自动化测试(二)
Json多重数据处理方法II:jobj直接向后调用即可 ]["GoodsName"]; 用:分隔的字符串转字典: public static Dictionary<strin ...
- HTML5 Web Worker简单使用
Web Workers 是 HTML5 提供的一个javascript多线程解决方案,我们可以将一些大计算量的代码交由web Worker运行而不冻结用户界面. 一:如何使用Worker Web Wo ...
- Java基础——继承
学习Java继承之前,我们想回忆一下Java面向对象需要特别注意的几个关键点. 面向对象是将复杂的事情简单化了,它通过封装的方式使得代码的重用性更高和安全性更强.平时我们要学会用面向对象的方式去思考, ...
- 如何使用wait(), notify() and notifyAll() – Java
Java多线程是个很复杂的问题,尤其在多线程在任何给定的时间访问共享资源需要更加注意.Java 5引入了一些类比如BlockingQueue 和Executors 类提供了易于使用的API,避免了一些 ...
- Spring mvc 中使用 kaptcha 验证码
生成验证码的方式有很多,个人认为较为灵活方便的是Kaptcha ,他是基于SimpleCaptcha的开源项目.使用Kaptcha 生成验证码十分简单并且参数可以进行自定义.只需添加jar包配置下就可 ...
- Linux命令 查看及修改文件属性
chmod [功能说明] 改变文件的访问权限 #Linux中访问权限分为:文件属主(文件的创建者)文件组属主(创建者所处的组)和其他(其他用户) [语法格式] Chmod[参数]mode[文件名或目 ...
- [项目记录]一个.net下使用HAP实现的吉大校园通知网爬虫工具:OAWebScraping
第一章 简介 本文主要介绍了在.NET下利用优秀的HTML解析组件HtmlAgilityPack开发的一个吉林大学校内通知oa.jlu.edu.cn的爬取器.尽管.Net下解析HTML文件有很多种选择 ...
- 【分享】我们用了不到200行代码实现的文件日志系统,极佳的IO性能和高并发支持,附压力测试数据
很多项目都配置了日志记录的功能,但是,却只有很少的项目组会经常去看日志.原因就是日志文件生成规则设置不合理,将严重的错误日志跟普通的错误日志混在一起,分析起来很麻烦. 其实,我们想要的一个日志系统核心 ...
- 初学MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品. Mysql默认端口号: 3306 超级用户:root prompt 修改提示符. ( ...
- 【原创】Kafka Consumer多线程实例续篇
在上一篇<Kafka Consumer多线程实例>中我们讨论了KafkaConsumer多线程的两种写法:多KafkaConsumer多线程以及单KafkaConsumer多线程.在第二种 ...