1. 基本数据类型

Intent intent = new Intent();
intent.setClass(activity1.this, activity2.class); //描述起点和目标
Bundle bundle = new Bundle(); //创建Bundle对象
bundle.putString("key", "包装的数据"); //装入数据
intent.putExtras(bundle); //把Bundle塞入Intent里面
startActivity(intent);

2. 传对象的两种方式 java.io.Serializable和android.os.Parcelable
1. android.os.Parcelable(android推荐使用)
1).被传递的类对象需要实现parcelable接口

public class Employee implements Parcelable{
public String id;
public String name;
public String dept;
public String idcard;
public String statusInt;
public String status;
public String mobile;
public String sex;
public String sexInt;
public String address;
public String avatar;
public String education;
public String birthday;
public String age;
public String dept_name;
public String imageUrl;
public String manager;
public String score; public static final Parcelable.Creator<Employee> CREATOR = new Creator<Employee>() {
public Employee createFromParcel(Parcel source) {
Employee employee = new Employee();
employee.name = source.readString();
employee.age = source.readString();
employee.dept_name = source.readString();
employee.sex = source.readString();
employee.status = source.readString();
employee.manager = source.readString();
employee.score = source.readString();
employee.imageUrl = source.readString();
return employee;
}
public Employee[] newArray(int size) {
return new Employee[size];
}
}; @Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int arg1) {
parcel.writeString(name);
parcel.writeString(age);
parcel.writeString(dept_name);
parcel.writeString(sex);
parcel.writeString(status);
parcel.writeString(manager);
parcel.writeString(score);
parcel.writeString(imageUrl);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} }

2)传递对象代码

Intent intent = new Intent(mContext, AnotherActivity.class);
Bundle mEmployeeBundle = new Bundle();
mEmployeeBundle.putParcelable(EMPLOYEE_PAR_KEY, mEmployees.get(position));
intent.putExtras(mEmployeeBundle);
startActivity(intent);

3) AnotherActivity中取值

mEmployee = (Employee)getIntent().getExtras().getParcelable(HomeFragment.EMPLOYEE_PAR_KEY);
Log.d(TAG, "employee name :"+mEmployee.name);

2. java.io.Serializable

1)类对象

public class Ser implements Serializable {

    /**
* serialVersionUID的作用是在修改实体类后,可以正常的序列化和反序列化,在此不多说,大家可以谷歌百度下。
*/
private static final long serialVersionUID = 123456789090L;
private String name;
private int age;
}

2)传值及取值

bundle.putSerializable(SER_KEY, new Ser());
intent.putExtras(bundle);
startActivity(intent);
pSer = (Ser) getIntent().getSerializableExtra(SER_KEY); //another activity 取值 

android intent 传数据的更多相关文章

  1. android中用Intent传数据,如果用传递的是一个类,就将类实现Parcelable接口

    Parcelable,内存单位,跨进程使用,或者intent传递对象的时候使用.android中用Intent传数据,如果用传递的是一个对象,就将对象实现Parcelable接口,而不是将对象序列化. ...

  2. 关于 android Intent 传对象和对象数组的一些操作

    直接开正题,Intent传递值就是平常那些很简单的,接下来介绍传递 对象,和 对象数组 1 .intent 传递自定义的 对象 - 实体类继承  Serializable public class A ...

  3. Android Intent传递数据

    刚开始看郭大神的<>,实现以下里面的一些例子.Intent传递数据. 我们利用显示的方式进行Intent的启动. 1.启动intent并输入数据. Intent intent=new In ...

  4. Intent 传数据

    Intent作为android重要的组件其重要性不言而喻,这里说说他是怎么传递简单数据和对象 Intent的具体概念就不讲解了!网上有很多的 传递简单的数据(例如String,float等) 传递对象 ...

  5. Android Intent 传递数据注意事项

    不要通过 Intent 在 Android 基础组件之间传递大数据(binder transaction缓存为 1MB),可能导致 OOM.

  6. Android:Intent传递数据的几种类型和源码实现

    public class Intent implements Parcelable, Cloneable {   //... private String mAction; private Uri m ...

  7. 【转】Android 之最新最全的Intent传递数据方法

    原文地址:https://www.jianshu.com/p/1169dba99261 intent传递数据 为什么要和intent单独拿出来讲,因为Intent传递数据也是非常重要的 一.简单的传递 ...

  8. Android开发探秘之四:利用Intent实现数据传递

    在Android开发过程中,很多人都熟悉Intent,这是个用于在多个View之间共享数据的类.本节主要是继承上节,通过点选ListView中的文本,把文本中的URL加载到一个新的页面上,并且打印出来 ...

  9. Android 消息广播Intent传递数据

    1.创建布局文件activity_broadcast.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk ...

随机推荐

  1. 你可能使用了Spring最不推荐的注解方式

    前言 使用Spring框架最核心的两个功能就是IOC和AOP.IOC也就是控制反转,我们将类的实例化.依赖关系等都交由Spring来处理,以达到解耦合.利用复用.利于测试.设计出更优良程序的目的.而对 ...

  2. 算法学习 并查集(Union-Find) (转)

    并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了.以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定.不分享出来真是对不起party了.(party:我靠,关我嘛事啊?我跟你很熟么?) ...

  3. Mysql Fabric实现学习笔记

    Mysql Fabric用来管理mysql服务,提供扩展性和容易使用的系统,管理mysql分片和高可用部署(当前实现了两个特性:高可用和使用数据分片的横向扩展,能单独使用或结合使用这两个特性.). 架 ...

  4. bzoj Usaco补完计划(优先级 Gold>Silver>资格赛)

    听说KPM初二暑假就补完了啊%%% 先刷Gold再刷Silver(因为目测没那么多时间刷Silver,方便以后TJ2333(雾 按AC数降序刷 ---------------------------- ...

  5. 【算法】【网络流24题】巨坑待填(成功TJ,有时间再填)

    ------------------------------------------------------------------------------------ 17/24 --------- ...

  6. 添加网站标题logo

    如何在标题栏title前添加网站logo? 第一种方法:据说在网站根目录下放着我们的ico型logo,命名为favicon.ico,浏览器会自动去找到并显示.试了试,在firefox23和ie8下都没 ...

  7. UIColor延伸:判断两个颜色是否相等

    不管UIColor使用CIColor,CGColor还是其他方式初始化的,其CGColor属性都是可用的.CoreGraphics中提供一个函数,用于判断两个CGColor是否相等,因此我们可以通过这 ...

  8. HDU 5641

    King's Phone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  9. Makefile中的 =,:=,?=,+= 的差异

    在Makefile中常常遇见这几种等操作,总结一下具体区别. =  是最基本的赋值 :=  是用右值覆盖左值 ?=  判断,如果左值没有被赋值过就赋以右值,否则,不做赋值动作 += 在左值后面连接右值 ...

  10. HDU3579 线性同余方程(模板 余数不一定互质)

    Hello Kiki Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...