初学安卓开发随笔之 Intent 用法
来源:互联网 发布:淘宝申请售后服务培训 编辑:程序博客网 时间:2024/05/22 03:39
首先,对于安卓开发,目前世界上流行的是使用的是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 声明!!!
- 然后即可
- 其他用法 打开网页 这里首先 要配置<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()方法来解决这个问题啦
以上是小叶子自己学习中做的一些笔记哈,欢迎大家一起讨论,指出不足,共同进步!!!
阅读全文
0 0
- 初学安卓开发随笔之 Intent 用法
- 安卓开发之Intent
- 安卓开发之Intent对象
- 安卓开发之 Intent的介绍
- 安卓开发指南之Intent 和 Intent 过滤器
- 安卓之Intent
- 安卓之Intent
- 安卓开发-intent和intent-filter
- 安卓开发初学记
- 安卓开发初学简介
- 安卓之Intent实例
- 安卓开发之onPostExcute用法
- 安卓开发之SQLite数据库用法
- 初识安卓开发之Intent(一)- 显示和隐式Intent
- 安卓-使用intent常见用法
- 安卓开发手记 intent 返回结果
- 安卓开发:Intent传对象
- 安卓开发:使用Intent传递对象
- JavaScript趣味编程--仿微信飞机大战游戏--2.让飞机移动
- 《Python 基础教程》学习笔记(一)
- acm练习:矩形排序
- eclipse软件安装流程
- 在window7系统下打开chm文档的时候提示:找不到mk:@MSITStore:(文件路径)
- 初学安卓开发随笔之 Intent 用法
- 士兵杀敌(三)
- JavaScript数组去重
- 反码补码原码
- poj-1860 Currency Exchange (货币转换—最长路)
- Python学习(十一)——matplotlib与可视化
- Java并发性和多线程介绍
- 南理 108 士兵杀敌(一)
- codeforces768D(87/600)