广告
返回顶部
首页 > 资讯 > 移动开发 >android中Intent传值与Bundle传值的区别详解
  • 745
分享到

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

intent传值intentbundleAndroid 2022-06-06 10:06:29 745人浏览 薄情痞子
摘要

举个例子我现在要从A界面跳转到B界面或者C界面   这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两遍添加值的方法 那

举个例子我现在要从A界面跳转到B界面或者C界面  
这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两遍添加值的方法 那么 如果我用1个Bundle  直接把值先存里边 然后再存到Intent中 不就更简洁吗?

另外一个例子如果我现在有Activity A ,B ,C;
现在我要把值通过A经过B传给C
你怎么传 如果用Intent的话 A-B先写一遍 再在B中都取出来 然后在把值塞到Intent中 再跳到C 累吗?
如果我在A中用了 Bundle 的话  我把Bundle传给B 在B中再转传到C  C就可以直接去了
这样的话 还有一个好处 就是在B中 还可以给Bundle对象添加新的 key - value 同样可以在C中取出来

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) {
                I ntent intent = new Intent();
                intent.setClass(informationactive.this,mainactive.class);
                startActivity(intent); 
         }
   });
 
   }

您可能感兴趣的文章:Android控件系列之TextView使用介绍android textview 显示html方法解析Android的TextView与Html相结合的具体方法android Textview文字监控(Textview使用方法)Android设置TextView显示指定个数字符,超过部分显示...(省略号)的方法Android中实现为TextView添加多个可点击的文本android中intent传递list或者对象的方法Android Intent的几种用法详细解析详解Android中Intent的使用方法Android Intent启动别的应用实现方法Android开发之TextView使用intent传递信息,实现注册界面功能示例


--结束END--

本文标题: android中Intent传值与Bundle传值的区别详解

本文链接: https://www.lsjlt.com/news/27639.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • android中Intent传值与Bundle传值的区别详解
    举个例子我现在要从A界面跳转到B界面或者C界面   这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两遍添加值的方法 那...
    99+
    2022-06-06
    intent传值 intent bundle Android
  • PHP中传值与传引用的区别
    PHP中传值与传引用的区别:传值要重新构造一份原参数的拷贝,而传引用则不需要。传值改变变量值的大小,都不会影响到函数外边的变量值,而传引用对值的任何改变,在函数外部也有所体现。传值对参数的修改不会改变原参数,而传引用时可以直接修改原参数。...
    99+
    2022-10-16
  • php中传值与传址的区别是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑值传递值传递是 PHP 中函数的默认传值方式,也称为“拷贝传值”。顾名思义值传递的方式会将实参的值复制一份再传递给函数的形参,所以在函数中操作参数的值并不会对函数外的实...
    99+
    2021-08-13
    php 传值 传址
  • php中传值与传址的区别有哪些
    本篇内容主要讲解“php中传值与传址的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php中传值与传址的区别有哪些”吧!区别:传值是将原变量内容复制下来,再用一个新的内存空间来保存,两...
    99+
    2023-06-21
  • PHP中传值与传引用有什么区别
    在PHP中,传值和传引用是函数参数传递的两种方式。1. 传值:函数传递的是实参的值的副本。在函数内部对参数的修改不会影响到外部的实参...
    99+
    2023-09-27
    PHP
  • 解析C/C++值传递和址传递的区别
    C/C++的按值传递和按地址传递有明显不同,下面对他们作个区别: 按值传递:在调用函数中将原函数的值拷贝一份过去被调用的函数,在被调用函数中对该值的修改不会影响原函数的值。 按地址传...
    99+
    2022-11-12
  • C++中传值、传地址和传引用的区别是什么
    小编给大家分享一下C++中传值、传地址和传引用的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!传引用定义传值与传地址,相信大家都了如指掌了,在这里先介绍...
    99+
    2023-06-20
  • JS中值传递和引用传递的区别有哪些
    这篇文章主要介绍了JS中值传递和引用传递的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JS是什么JS是JavaScript的简称,它是一种直译式的脚本语言,其解释...
    99+
    2023-06-14
  • java中值传递和引用传递的区别是什么
    在Java中,值传递(pass by value)和引用传递(pass by reference)是两种不同的参数传递方式。值传递是...
    99+
    2023-08-14
    java
  • C++中左值和右值的区别详解
    目录左值右值定义:特性左值引用, 右值引用总结左值右值定义: 左值指的是既能够出现在等号左边也能出现在等号右边的变量(或表达式),右值指的则是只能出现在等号右边的变量(或表达式). ...
    99+
    2022-11-13
  • 详解Android中Intent传递对象给Activity的方法
    Activity回顾 activity是android程序中最重要的组件之一,它是用户与android用户交互的主要组件,类似于桌面程序的图形界面。android程序大致可以...
    99+
    2022-06-06
    方法 对象 intent传递对象 intent activity Android
  • Android中Intent传递对象的3种方式详解
    前言 相信Intent的用法大家已经比较熟悉了,Intent可以用来启动Activity,Service等等,同时我们也可以通过Intent来进行传递数据,当我们使用Inten...
    99+
    2022-06-06
    对象 intent传递对象 intent Android
  • 在编程技术中传值和传址的区别有哪些
    这篇文章给大家分享的是有关在编程技术中传值和传址的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。传值和传址的区别:1、在传值中函数参数压栈的是参数的副本,任何的修改是在副本上作用,没有作用在原来的变量上...
    99+
    2023-06-06
  • vue2中provide/inject的使用与响应式传值详解
    目录前言一、基本用法二、响应式1.方法一:传递的参数用一个方法返回2.方法二:把需要传递的参数定义成一个对象总结前言 官网概念:这对选项需要一起使用,以允许一个祖先组件向其所有子孙后...
    99+
    2022-11-13
  • 详解vue3中的非父子组件传值
    目录App.vuesub1.vuesub2.vue总结 vue2中非父子组件的传值主要是通过事件总线,创建一个vue实例,通过在不同的组件中导入该实例来实现非父子组件之间的通信行...
    99+
    2022-11-12
  • MySQL null与not null和null与空值''''的区别详解
    相信很多用了MySQL很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 我字段类型是not null,为什么我可以插入空值 为毛not null的效率比null高 判断字段不为空的时候,...
    99+
    2022-05-28
    MySQL null与not null MySQL null与空值''''''''
  • Android 中SP与DP的区别实例详解
    从一开始写Android程序,就被告知这些常识 1.长度宽度的数值要使用dp作为单位放入dimens.xml文件中 2.字体大小的数值要使用sp作为单位,也放入dimens....
    99+
    2022-06-06
    dp Android
  • 一文带你了解Java中数值与集合的区别
    一文带你了解Java中数值与集合的区别?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。数组array和集合的区别:(1) 数值是大小固定的,同一数组只能存放一样的数据。(2) j...
    99+
    2023-05-31
    java 集合 数组
  • Vue中子组件向父组件传值$emit、.sync的案例详解
    目录父组件子组件案例父组件子组件v-model首先我们可先了解一个父组件向子组件传值的一个案例:将父组件请求的后端数据传值给子组件props 因为通过属性传值是单向的,有时候我们需要...
    99+
    2022-11-13
  • IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别是怎样的
    今天就跟大家聊聊有关IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体如下:这里主...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作