在讲参数传递之前,先讲下intent的定义:

Intent intent = new Intent(MainActivity.this,SecondActivity.class);  //这是显式定义

如果是隐式定义,隐式Intent通过在AndroidManifest.xml中<activity>标签下配置<intent-filter>的内容,可以指定当前活动能够响应的action和category。

<activity android:name=".SecondActivity" >

  <intent-filter>

        <action android:name="com.example.activitytest.ACTION_START" />

        <category android:name="android.intent.category.DEFAULT" />  

        <category android:name="com.example.activitytest.MY_CATEGORY"/>

  </intent-filter>

</activity>

1、静态变量传递数据:

变量定义时一定要设置成public static,在第二个将打开的Activity进行定义,在第一个Activity对即将打开的Activity的静态变量进行赋值。

(1)public class FirstActivity extends Activity {

SecondActivity.ddd = 100;//设置静态变量传递的参数

(2)public class SecondActivity extends Activity{

public static int ddd;这里定义

textview.setText("静态变量:"+ddd);这里获取第一个Activity传过来的ddd参数

2、通过putExtra传递数据:

putExtra(key,value);//携带参数发送到另一个页面

String name = intent.getStringExtra(key);//获取传送过来的字符串

下面是发送参数代码:

Intent intent = new Intent(MainActivity.this, ShowActivity.class);//实例化一个inent

intent.putExtra("name", "大家好");//为putExtra添加需要传递的参数

startActivity(intent);

下面是获取代码:

Intent intent = getIntent();//获取一个intent对象

String name = intent.getStringExtra("name");//获取传递过来的值

textview.setText("putExtra传参:"+name);

3、全局变量传递数据

创建一个类继承Application在设置变量,并设置get方法获取变量的值

在AndroidManifest.xml的application里面添加android:name=".Defind" //Defind为类名

defind = (Defind) getApplication();//在使用的类里面通过getApplication获取全局变量类的对象

这个方式支持开发者自己定义一个类来进行传参,但是该类需要在AndroidManifest.xml中声明出来,

在AndroidManifest.xml的application里面添加android:name并给name赋值为类名,然后在类里面通过

getApplication获取全局变量类的对象,再对该对象进行操作。

4、数据包Bundle传递数据

下面是参数发送代码:

Bundle b = new Bundle();//创建Bundle对象

b.putString('name','姓名');//往Bundle对象添加传递的参数

b.putInt('age',1);//往Bundle对象添加传递的参数

intent.putExtras(b);在intent里面添加Bundle对象

下面是获取参数代码:

Bundle data = intent.getExtras();//获取传递过来的Bundle对象

data.getString('name');//通过Bundle对象的key获取值

data.getInt('age');////通过Bundle对象的key获取值

基于Intent实现Activity与Activity之间的数据传递,实现二个Activity的跳转功能的更多相关文章

  1. Android 数据传递(二)Activity与fragment之间的通信

    在网上找到了一篇总结的非常好的文章,我这里就贴出他的博文地址.自己就不再写这个方面的总结了. Activity与Fragment通信(99%)完美解决方案

  2. activity之间的数据传递方法

    1  基于消息的通信机制 Intent--------boudle,extra 用这种简单的形式,一般而言传递一些简单的类型是比较容易的,如int.string等 详细介绍下Intent机制 Inte ...

  3. Activity之间的数据传递

    最常用的Activity之间的数据传递. btnStartAty1.setOnClickListener(new View.OnClickListener() { @Override public v ...

  4. Activity之间的数据传递-android学习之旅(四十七)

    activity之间的数据传递主要有两种,一种是直接发送数据,另一种接受新启动的activity返回的数据,本质是一样的 使用Bundle传递数据 Intent使用Bundle在activity之间传 ...

  5. 基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具(Mongo2Es)

    基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具 支持一对一,一对多,多对一和多对多的数据传输方式. 一对一 - 一个mongodb的collection对应一 ...

  6. ASP.NET MVC3中Controller与View之间的数据传递

    在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: 一.  Controller向Vie ...

  7. ASP.NET MVC 之控制器与视图之间的数据传递

    今天,我们来谈谈控制器与视图之间的数据传递. 数据传递,指的是视图与控制器之间的交互,包括两个方向上的数据交互,一个是把控制器的数据传到视图中,在视图中如何显示数据,一个是把视图数据传递到控制器中, ...

  8. (转载)Javascript操作表单之间的数据传递

    (转载)http://www.aspxhome.com/javascript/skills/200710/214825.htm 今天有朋友问我关于用JAVASCRIPT来进行页面各表单之间的数据传递的 ...

  9. iOS开发中视图控制器ViewControllers之间的数据传递

    iOS开发中视图控制器ViewControllers之间的数据传递 这里我们用一个demo来说明ios是如何在视图控制器之间传递重要的参数的.本文先从手写UI来讨论,在下一篇文章中讨论在storybo ...

  10. React中父组件与子组件之间的数据传递和标准化的思考

    React中父组件与子组件之间的数据传递的的实现大家都可以轻易做到,但对比很多人的实现方法,总是会有或多或少的差异.在一个团队中,这种实现的差异体现了每个人各自的理解的不同,但是反过来思考,一个团队用 ...

随机推荐

  1. Python总结1

    时间:24日下午输入:input()输出:print()格式化输出通过某种占位符用于替换字符串中某个位置的字符.占位符:%s:可以替换任意类型%d:可以替换数字类型 需要掌握的#1.strip去左右两 ...

  2. javascript匿名函数及闭包深入理解及应用

    1.匿名函数 函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途.匿名函数:就是没有函数名的函数. 1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式 第一种: ...

  3. C#第九节课

    try catch using System;using System.Collections.Generic;using System.Linq;using System.Text;using Sy ...

  4. IDEA返回上一步

    在开发中进入一个方法后想要到原来那行 ctrl+alt+左 回到上一步 ctrl+alt+右 回到下一步

  5. Linux浅谈磁盘管理及案例

    磁盘管理 MBR原理图 从该图可理解到为什么主分区只能是四个. 可以不分区,但为了统一管理,提高访问效率 设备不同,生成设备名称不同 管理分区命令: lsblk查看块设备 fdisk创建MBR分区 f ...

  6. Git 基础教程 之 远程仓库

    ①   注册GitHub账号 由于本地Git仓库和GitHub仓库之间的传输是SSH加密的,所以需要一点设置: a, 创建SSH Key         在用户主目录下,看是否有 .ssh 目录,若无 ...

  7. composer 安装教程

    https://getcomposer.org/download/ 邓士鹏 1.先检查php.ini是否开启ssl ;extension=php_openssl.dll   2. php -r &qu ...

  8. GOF23设计模式之适配器模式

    GOF23设计模式之适配器模式 结构型模式: 核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题. 分类:适配器模式.代理模式.桥接模式.装饰模式.组合模式.外观模式. ...

  9. 关于bitnami redmine 的一些问题

    http://blog.csdn.net/yanyaming920817/article/details/50059523

  10. [bzoj1002][FJOI2007]轮状病毒_递推_高精度

    轮状病毒 bzoj-1002 FJOI-2007 Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2 ...