什么是Intent(意图)
1、Intent是一种运行时绑定(runtime bingding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种
请求或者意愿,Android会根据意愿的内容选择适当的组件来请求。
2、在这些组件之间的通讯中,主要是由Intent协助完成的。
Intent负责对应用中一次操作的动作,动作设计数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,
并完成组件的调用。
3、因此,Intent在这里起这一个媒体中介的作用,专门提供组件相互调用的相关信息,实现调用者与被调用者之间的解耦。
例如:在一个联系人维护的应用中,当我在一个联系人列表屏幕(建设对应的Activity为listActivity)上,点击某个联系人后,希望能够跳出此联系人的详细信息
屏幕(折射对应的Activity为detailactivity)。
4、为了实现这个目的,listActivity需要构造一个Intent,这个Intent用于告诉系统,我们要做“查看”动作。
此动作对应的查看对象“某某联系人”,然后调用startActivity(Intent intent),将构造的Intent传入,系统会根据此Intent中
描述,到ManiFest中找到满足此Intent要求的Acitvity,系统会调用找到Activity,即为detailActivity,最终传入Intent
detailActivity则会根据此Intent中的描述,执行响应的操作。
package com.example.app.intentchuandi; import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button button; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //加载视图
button = (Button)this.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,IntentClas.class);
intent.putExtra("hjk","张三");
intent.putExtra("age","");
intent.putExtra("address","南京");
//启动意图
startActivity(intent);
}
});
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
Intent intent = getIntent();
int age = intent.getIntExtra("age",);
String hjk = intent.getStringExtra("hjk");
String address = intent.getStringExtra("address");
textView = (TextView)this.findViewById(R.id.sf);
textView.setText("age---->>"+age+"\n"+"name--->>"+hjk+"address--->>"+address); }
什么是Intent(意图)的更多相关文章
- Android 之 Intent(意图)
Intent是 Android中重要的桥梁之一,它分为显式意图和隐式意图.接下来分别针对这两种意图进行讲解. 显式意图:通过指定一组数据或动作,激活应用内部的 activity:(相比隐式意图,此做法 ...
- Intent(意图)
Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”. 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter&g ...
- Intent 意图 结构 简介
Intent简介 官方解释: An intent is an abstract description of an operation操作 to be performed展示.表演. It can b ...
- 玩转Android---组件篇---Intent(意图)
Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”. 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter&g ...
- Intent意图
1.显式Intent button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(Vie ...
- android intent 隐式意图和显示意图(activity跳转)
android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity B ...
- android小知识之意图(intent)
android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity B ...
- 第五篇-以显式意图(Explicit Intent)跳往其它Activity
此项目基于第四篇. Intent(意图) Explicit Intent(显式意图): 清楚指明需要前往的Activity的名称 用于APP内部的连接 Inplicit Intent(隐式意图): 不 ...
- Android--Intent(意图)
Intent(意图)是安卓系统中最重要的概念, 它是一种消息传递机制, 用于系统与应用程序组件之间的交互, 意图可以分为3类, 分别是: 活动意图, 广播意图和服务意图 1. Activity Int ...
随机推荐
- 负载均衡集群之LVS配置命令
ipvs/ipvsadm 添加集群服务--> ipvsadm -A|E -t|u|f VIP[:Port] -s scheduler [-p timeout] [-O] [-M netmask] ...
- Measuring Lengths in Baden
Description Measuring Lengths in Baden time limit per test: 2 seconds memory limit per test: 256 meg ...
- Robberies(HDU 2955 DP01背包)
Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- visual studio 2008安装报错问题处理
今天刚入职,安装visual studio 2008时报错说web创建组件安装错误,后来发现是因为之前这电脑安装visual studio 2008的时候是office2007刚安装的版本,可是后来系 ...
- 【Shell脚本】运行shell脚本文件的几种方法与区别
Shell脚本不同的运行方式会对当前Shell设置或者运行结果有所不同. 假设现在有一个脚本名为display_shell_script_args.sh,其内容如下: #!/home/pyf/bin/ ...
- Trie树|字典树(字符串排序)
有时,我们会碰到对字符串的排序,若采用一些经典的排序算法,则时间复杂度一般为O(n*lgn),但若采用Trie树,则时间复杂度仅为O(n). Trie树又名字典树,从字面意思即可理解,这种树的结构像英 ...
- RMAN传输表空间迁移数据
实验环境: 源数据库:oracle 10g(Release 10.2.0.1.0) 目标数据库:oracle 10g(Release 10.2.0.1.0) 待传输的表空间:TEST 1.在tes ...
- 两分钟让你明白cocos2dx的屏幕适配策略
闲来无事,整理了一下cocos2dx的屏幕适配策略,本文适用于想快速理解cocos2dx适配的开发者. 我们先假设:以854 * 480 的屏幕为标准进行开发,当然,这也就是cocos2dx所说的设计 ...
- 淘宝弹性布局方案lib-flexible研究
1. lib-flexible不能与响应式布局兼容 先说说响应式布局的一些基本认识: 响应式布局的表现是:网页通过css媒介查询判断可视区域的宽度,在不同的范围应用不同的样式,以便在不同尺寸的设备上呈 ...
- vlc-android对于通过Live555接收到音视频数据包后的处理分析
通过ndk-gdb跟踪调试vlc-android来分析从连接到RTSP服务器并接收到音视频数据包后的处理过程. 首先,从前面的文章有分析过vlc-android的处理过程通过线程函数Run()(Src ...