博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中目的地Intent的使用
阅读量:7218 次
发布时间:2019-06-29

本文共 2016 字,大约阅读时间需要 6 分钟。

一、什么是Intent?

 

Intent的中文意思是目的。在Android中也是“目的”的意思。就是我们要去哪里,从这个activity要前往另一个Activity就需要用到Intent。

 

示例代码一:

 

   1: //定义一个Intent

   2:  Intent intent = new Intent(IntentDemo.this, AnotherActivity2.class); 

   3: //启动Activity

   4:  startActivity(intent); 

以上示例代码的作用是从IntentDemo这个activity切换到AnotherActivity2。这是Intent其中一种构造方法,指定两个Activity。为什么需要指定两个活动呢?因为在Android中有一个活动栈,这样的构造方式才能确保正确的将前一个活动压入栈中,才能在触发返回键的时候活动能够正确出栈。

 

注意:所有的Activity都必须先在AndroidManifest.xml里面配置声明。一下为本文用到的程序配置文件

 

  

 

 

二、Intent的构造函数

 

公共构造函数:

 

1、Intent() 空构造函数

 

2、Intent(Intent o) 拷贝构造函数

 

3、Intent(String action) 指定action类型的构造函数

 

4、Intent(String action, Uri uri) 指定Action类型和Uri的构造函数,URI主要是结合程序之间的数据共享ContentProvider

 

5、Intent(Context packageContext, Class<?> cls) 传入组件的构造函数,也就是上文提到的

 

6、Intent(String action, Uri uri, Context packageContext, Class<?> cls) 前两种结合体

 

Intent有六种构造函数,3、4、5是最常用的,并不是其他没用!

 

Intent(String action, Uri uri)  的action就是对应在AndroidMainfest.xml中的action节点的name属性值。在Intent类中定义了很多的Action和Category常量。

 

示例代码二:

 

   1:  Intent intent = new Intent(Intent.ACTION_EDIT, null); 

   2:  startActivity(intent); 

示例代码二是用了第四种构造函数,只是uri参数为null。执行此代码的时候,系统就会在程序主配置文件AndroidMainfest.xml中寻找

 

 

对应的Activity,如果对应为多个activity具有

 

此时就会弹出一个dailog选择Activity,如下图:

 

 如果是用示例代码一那种方式进行发送则不会有这种情况。

 

三、利用Intent在Activity之间传递数据

 

在Main中执行如下代码:

 

Bundle bundle = new Bundle();bundle.putStringArray("NAMEARR", nameArr);Intent intent = new Intent(Main.this, CountList.class);intent.putExtras(bundle);startActivity(intent);

 

在CountList中,代码如下:

 

   1:  Bundle bundle = this.getIntent().getExtras(); 

   2:  String[] arrName = bundle.getStringArray("NAMEARR"); 

以上代码就实现了Activity之间的数据传递!

转载地址:http://totym.baihongyu.com/

你可能感兴趣的文章
projectEuler pro10
查看>>
聚焦“云开发圆桌论坛”,大前端Serverless大佬们释放了这些讯号!
查看>>
数学模板
查看>>
c#中英文混合字符串截取指定长度
查看>>
.NetCore应用多个target framework
查看>>
pdfminer获取整页文本
查看>>
windows服务器多端口Redis安装步骤
查看>>
第二次作业心得
查看>>
爬虫——请求库之requests
查看>>
android子线程更新UI,与主Thread一起工作
查看>>
50行实现简易HTTP服务器
查看>>
细讲递归(recursion)
查看>>
进程和进程间通信
查看>>
微处理器的两种结构比较
查看>>
ORACLE EXPIRED(GRACE)
查看>>
Markdown应用样例
查看>>
多文本框的值得存放和赋值
查看>>
Linux中计划任务执行脚本crontab-简洁版
查看>>
Java - IO
查看>>
安卓app中嵌入一个H5页面,当手机系统设置字体变大时,如何使H5页面的字体不会随用户自己调整的系统字体变化而变化?...
查看>>