Android Intent和Bundle机制实例详解

CentOS7环境下搭建 rsyslog 日志服务器,rsyslog+loganalyzer 1.系统环境部署 ip hostname 192.168.200.182 web 192.168.200.184 rsyslog-mysql 关闭防火墙、selinux、下载epel源 [root@web ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/f 阅读详情
Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数/方法调用,或者上节中提到的通过库调用接口的方式不太一样。在Intent的使用中你看不到直接的函数调用,相对函数调用来说,Intent是更为抽象的概念,利用Intent所实现的软件复用的粒度是Activity/Service,比函数复用更高一些,另外耦合也更为松散。

Android中与Intent相关的还有Action/Category及Intent Filter等,另外还有用于广播的Intent,这些元素掺杂在一起,导致初学者不太容易迅速掌握Intent的用法。在讲解这些名词之前,我们先来从下面的例子中感受一下Intent的一些基本用法,看看它能做些什么,之后再来思考这种机制背后的意义。



理解Intent的关键之一是理解清楚Intent的两种基本用法:一种是显式的Intent,即在构造Intent对象时就指定接收者,这种方式与普通的函数调用类似,只是复用的粒度有所差别;另一种是隐式的Intent,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,这种方式与函数调用差别比较大,有利于降低发送者和接收者之间的耦合。另外Intent除了发送外,还可用于广播,这些都将在后文进行详细讲述。

       Intent和Bundle实现从一个Activity带参数转换到另一个Activity的代码例子

    if(et_username.getText().toString().equals("peidw") && et_password.getText().toString().equals("123456") ){
     intent = new Intent();   
                    Bundle bundle = new Bundle();  
                    bundle.putString("USERNAME", et_username.getText().toString());  
                    intent.putExtras(bundle);
                    intent.setClass(loginactive.this, informationactive.class);   
                    startActivity(intent);
    }else{
                    intent = new Intent();  
                    intent.setClass(loginactive.this, errorpageactive.class);  
                    //锟斤拷Activity  
                    startActivity(intent);  
    }

在另一个Activity中取出Bundle 的参数

protected void onCreate(Bundle savedInstanceState) { 
   super.onCreate(savedInstanceState);
   this.setContentView(R.layout.informationactive);
   tv = (TextView)findViewById(R.id.first_page_info);
   Bundle bundle = this.getIntent().getExtras();  
   String str=bundle.getString("USERNAME");
   tv.setText(str);
   button_back = (Button)findViewById(R.id.back);  
   button_back.setOnClickListener(new OnClickListener() {  
             public void onClick(View view) {   
                 Intent intent = new Intent();   
                 intent.setClass(informationactive.this,mainactive.class);   
                 startActivity(intent);  
             }
      });
  
  
  }

看了上面的代码,我想大家也明白Intent人作用
告别Keil4!手把手教你用Keil C51 V9.61编译51单片机代码(附最新激活方法) 本文详细介绍了Keil C51 V9.61在51单片机开发中的全栈升级指南,包括编译速度提升、调试器性能优化和现代开发支持等核心优势。通过智能安装方案、项目迁移实战和新特性深度应用,帮助开发者告别Keil4,大幅提升开发效率。附有最新激活方法和实用技巧,适用于嵌入式开发工程师。 阅读详情

相关推荐

多节阶梯阻抗变换器工程设计的公式推导

  多节阶梯阻抗变换器工程设计的公式推导,仔细看此文,有点烧脑,所以碎片十分钟,收获一丢丢。   现在就来设计一个超宽带多节阶梯阻抗变换器,要求带内纹波符合切比雪夫分布。   其实,此文已经是省去了大量中间公式推导,只剩下精炼内容了。   阶梯阻抗变换器指标需求   假设现在有一项目需求分析结果是:做一个微带线超宽带阶梯阻抗变换器,指标如下:   从50欧变换到100欧;   回波损耗22dB;   功率容量:2W;   频率范围2~18GHz;   插损能做多少就多少,用30mil板厚.

wusuowei1010的博客 7809

Android Activity生命周期与Intent机制详解

Activity作为Android四大组件之一,是构建用户界面的核心单元。其生命周期管理机制通过onCreate、onStart、onResume等回调方法,确保界面状态与资源管理的正确性。Intent作为组件间通信的桥梁,支持显式和隐式两种调用方式,配合Intent Filter实现灵活的跨组件调用。在移动开发实践中,合理运用Activity启动模式和任务栈管理,能有效优化用户体验。通过ViewModel保存UI数据、正确处理配置变更等技巧,可以提升应用性能与稳定性。这些基础概念和技术广泛应用于电商、社交

weixin_34008805的博客 525

# 执行 DISM 命令时出错 87 未在此上下文中识别出 restorehealth 选项。解决方法

# 执行 DISM 命令时出错 87 未在此上下文中识别出 restorehealth 选项。解决方法

段子手168的博客 1万+

Intent和Bundle的区别

这几天在写android小程序的时候碰到了bundle,突然发现还不清楚intent和bundle之间的关系,决定百度google之。后来发现很多都在说用法,没提到什么本质区别的,所以去翻源码- - 首先来看下intent: public Intent putExtra(String name, boolean value); public Intent putExtra(String name, byte val...

qq_32534441的博客 2291

从接线到组态:手把手教你搞定PROFIBUS-DP与PA的混合网络搭建(基于西门子TIA Portal)

本文详细介绍了PROFIBUS-DP与PA混合网络的搭建方法,基于西门子TIA Portal平台,从硬件选型、网络架构设计到组态配置和现场调试,提供了一套完整的实战指南。重点解析了DP/PA耦合器的使用、地址映射策略及网络诊断技巧,帮助工程师高效构建高可靠性的工业自动化网络。

weixin_32103009的博客 303

量化交易新手必看:如何用Python快速接入XTP极速交易系统(附避坑指南)

本文为量化交易新手提供了使用Python快速接入中泰证券XTP极速交易系统的完整指南。文章详细介绍了XTP系统的微秒级性能优势、与CTP系统的核心区别,并逐步讲解了环境配置、API连接、资金查询、下单撤单等关键步骤,同时分享了网络维护、订单处理等实战避坑技巧,帮助开发者高效对接专业交易柜台。

life6的博客 660

Bundle类及应用Intent传递数据(Android)

一、Bundle类 Bundl类是为字符串与某组件对象建立映射关系的组件,它与Intent配合使用,可在不同的Activity之间传送数据。常用方法如下: 1、putString:把字符串用键值对的形式放到Bundle对象中。 2、remove:移除指定key的值。 3、getString:获取指定key的值。 二、应用Intent在不同的Activity之间传送数据 1、在界面的Activity A端 (1)在界面的Activity对象和Bundle对象。 Intent intent=new

木头博客 5777

【AUTOSAR-IpduM】-3.1-配置一个发送Tx Dynamic Container PDU(Multiple-PDU)

手把手教您如何配置一个Tx Dynamic Container PDU(Multiple-PDU),动态容器复用帧。并附上测试LOG帮助您进一步加深理解。

「汽车电子助手」的博客 1771

Android中Intent的简单使用和与Bundle的关系

Android中Intent的简单使用和与Bundle的关系

ChenYiRan123456的博客 2151

C#解析基恩士(KEYENCE)PLC数据:KV协议通信与实时监控实现

KV协议是基恩士PLC使用的一种专用通信协议,通常用于与上位机进行数据交换。KV协议通过RS-232C、RS-485、Ethernet等接口与上位机通信,支持多种数据类型的读写,包括但不限于位、字、双字、浮点数等。简洁易用:KV协议的通信格式简单,易于实现。支持多种数据类型:支持位数据、字数据、定长字符串等。高效实时性:能够提供较高的实时数据交换性能,适合实时监控应用。本文介绍了如何通过C#与基恩士KV系列PLC进行通信,实现数据的解析和实时监控功能。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1808

YOLOv11改进 | 损失函数改进篇 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数

这篇文章介绍了YOLOv11的重大改进,特别是在损失函数方面的创新。它不仅包括了多种IoU损失函数的改进和变体,如SIoU、WIoU、GIoU、DIoU、EIOU、CIoU,还融合了“Focus”思想,创造了一系列新的损失函数。这些组合形式的损失函数超过了二十余种,每种都针对特定的目标检测挑战进行优化。文章会详细探讨这些损失函数如何提高YOLOv11在各种检测任务中的性能,包括提升精度、加快收敛速度和增强模型对复杂场景的适应性。

Snu77的博客 6196

Android intent传输数据、intent通过bundle传输数据

intent传输示意图如下:把数据从activity1传输到activity2 案例:把activity1的数据传递给activity2 效果 bundle 传输示意图bundle和intent的区别, 拆数据和没放在bundle里是一样的 结果

m0_45877477的博客 3959

图解电动汽车:电动汽车电控系统

电动汽车的电控系统通常包含三个子控制系统 —— 整车控制器、电池管理系统、驱动电机控制器。 整车控制器 VCU 整车控制器 VCU(Vehicle Control Unit)作为电动汽车的中央控制单元,是整个控制系统的核心,也是各个子系统的调控中心。VCU 的主要功能就是协调管理整车的运行状态,包括采集电机及电池状态,采集加速踏板信号、制动踏板信号、执行器及传感器信号,根据驾驶员的意图综合分析做出相应判定后,监控下层的各部件控制器的动作,它负责汽车的正常行驶、制动能量回馈、整车发动机及动力电池的能量管理、.

程序员「阿基米东」的编程之旅 1万+

android intent是编译时绑定机制,Android Intent及Bundle机制实例详解.doc

Android Intent和Bundle机制实例详解Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能Intent的使用中你看不到直接的函数调用,相对函数调用...

weixin_35798040的博客 157

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android bundle机制6,Android Itent和Bundle机制实例详解.doc

Android Itent和Bundle机制实例详解Android Intent和Bundle机制实例详解Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能In...

weixin_42376799的博客 206

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

对安卓的简单解读

我不懂安卓开发,但由于需求,我去简单的学了一下安卓开发

zyl9111012的专栏 1148

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android开发之Bundle使用

android开发中,我们经常需要在两个activity之间传递数据,最常用的莫过于使用intent.putXXX(),可是很多时候我们也会这样:Bundle bundle = new Bundle(); bundle.putXXX()...这两种传值方式很像,今天查看intent.putXXX()方法源代码,发现是这样的: /** * Add extended data to th

江南一点雨的专栏 3146

Android基础——Intent

IntentIntent是什么?显式Intent隐式Intent Intent是什么? Intent用于Android程序中各组件(Activity、BroadcastReceive、Service)的交互,并且可以在组件之间传递数据,分为显式Intent和隐式Intent。 显式Intent 通过Intent(Context packageContext, Class<?> cls)构造函数创建Intent实例,第一个参数为当前Context,第二个参数为要启动的目标类。如当需要启动Other

松仔Log的博客 3340

Bundle机制

Android Intent和Bundle机制实例详解 Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平

RationalGo的专栏 1413

android bundle机制6,详解 Android IPC 机制(三)使用 Bundle 实现进程间通信

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?在 Android 四大组件中 Activity、Service、Receiver 都支持在 Intent 中附加传递 Bundle 数据。Bundle 是以键值对的形式存储数据,支持基本数据类型、数组、实现 Serializable 或 Parcelable 接口的对象以及一些 Android 支持的特殊对象。// 发...

weixin_42452460的博客 530

Intent和Bunble的用法

Intent和Bunble的用法: Bundle存数据时: Bundle bundle=new Bundle(); bundle.putString(“key”,“value”); Intent intent=new Intent(); intent.putExtras(bundle); 取数据时: Bundel bundle=this.getIntent().getExtras(); Strin...

qq_43709323的博客 590

Intent传递数据和Bundle传递数据的区别

Intent传递数据和Bundle传递数据是一回事,Intent传递时内部还是调用了Bundle。以下为源码:public Intent putExtra(String name, boolean value) { if (mExtras == null) { mExtras = new Bundle(); } mExtras.putBoolean(name, value); return thi...

weixin_34346099的博客 136

android中Intent传值与Bundle传值的区别详解

本篇文章是对android中Intent传值与Bundle传值的区别进行了详细的分析介绍,需要的朋友参考下 举个例子我现在要从A界面跳转到B界面或者C界面    这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两遍添加值的方法 那么 如果我用1个Bundle  直接把值先存里边 然后再存到Intent中 不就更简洁吗?

像风一样自由。。 735

Intent传值与Bundle传值的区别(源码分析)

> Intent传值的源码: public Intent putExtra(String name, String value) {         if (mExtras == null) {             mExtras = new Bundle();         }         mExtras.putString(name, value);         re

ShareUs的专栏 848

Intent和Bundle

Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数/方法调用,或者上节中提到的通过库调用接口的方式不

Pj_Blog_20141203的专栏 545
上一篇: Linux shell脚本全面学习
下一篇: TextView中文字实现跑马灯
Nation_chen
博客等级 码龄15年 21粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值