传递有两种方式,一种是类继承自Serializable(Java方式,速度较慢),另一种是类继承自Parcelable(Android方式)
继承自Serializable的时候,实现比较简单,类只需书写必须的属性和构造函数。继承自Parcelable的时候,需要实现往目标中写数据等。
两种差别在实体类的书写和接收时。
1.      类继承自Serializable
MainActivity中的OnCreate方法添加代码:
findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i=new Intent(MainActivity.this,OthereActivity.class);
User user=new User("杨戬",90);
i.putExtra("user", user);
startActivity(i);
}
});
OtherActivity中的Oncreate方法添加代码:
   Intent i=getIntent();
tv=(TextView)findViewById(R.id.txtView); User u= (User) i.getSerializableExtra("user");
// User u= (User) i.getParcelableExtra("user"); 接收时的区别
tv.setText(String.format("姓名1:%s;年龄1:%d",u.getName(),u.getAge()));
2.      类继承自Parcelable
  User类完整代码:
package com.example.jike.hhh;

import android.os.Parcel;
import android.os.Parcelable; import java.io.Serializable; /**
* Created by Administrator on 15-6-14.
*/
//public class User implements Serializable {
public class User implements Parcelable {
private String name;
private int age; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public User(String name, int age)
{
this.name=name;
this.age=age;
} @Override
public int describeContents() {
return 0;
} @Override
public void writeToParcel(Parcel parcel, int i) {
//向目标中写数据
parcel.writeString(getName());
parcel.writeInt(getAge());
} public static final Creator<User> CREATOR=new Creator<User>() {
@Override
public User createFromParcel(Parcel parcel) {
return new User(parcel.readString(),parcel.readInt());
} @Override
public User[] newArray(int i) {
return new User[i];//返回i
}
};
}

在Activity之间传递数据—传递值对象的更多相关文章

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

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

  2. Activity之间的数据传递

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

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

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

  4. Android学习之Activity之间的数据传递

    Activity与Activity之间很多情况下都需要进行数据的传递,下面就用几个简单的例子来看一下. (一).一个Activity启动另一个Activity并将数据传递到这个Activity当中 思 ...

  5. Android 数据传递(一) Activity之间的数据传递

    bundle Google Bundle类说明 Bundle类是一个key-value对.Activity之间的数据通信可以通过bundle类来实现数据的存储.即将数据放入bundle里面,将Bund ...

  6. 基于Intent实现Activity与Activity之间的数据传递,实现二个Activity的跳转功能

    在讲参数传递之前,先讲下intent的定义: Intent intent = new Intent(MainActivity.this,SecondActivity.class);  //这是显式定义 ...

  7. Android笔记(四) Activity之间的数据传递

    我们之前使用Intent进行Activity之间的跳转,其实Intent还可以在启动活动的时候传递数据. Intent提供了一系列的putExtra方法以便我们把想要传递的数据暂存在Intent中,待 ...

  8. Android中Activity之间的数据传递

    在开发中,我们经常涌用到Activity,那么既然用到了Activity,就一定免不了在两个或者多个Activity之间传递数据.这里我们先说一说原理,然后在看看代码和例子. 情况A:我们需要从Act ...

  9. Android Activity之间的数据传递

    1.向目标Activity传递数据: Intent intent=new Intent(this,Main2Activity.class); //可传递多种类型的数据 intent.putExtra( ...

  10. 两个activity之间的数据传递

    1.清单文件第二个activity<activity android:name="com.example.twodatapass.ResultActivity" androi ...

随机推荐

  1. 描述符和property内建函数

    首先我们搞清楚__getattr__ ,__get__ 和 __getattribute__ 作用的不同点. __getattr__在授权中会用到. __getattribute__  当要访问属性时 ...

  2. CentOS安装glibc-2.14,错误安装libc.so.6丢失急救办法

    CentOS安装glibc-2.14,错误安装libc.so.6丢失急救办法   到http://ftp.gnu.org/gnu/glibc/下载glibc-2.14.tar.xz tar glibc ...

  3. unity 组件开发

    //在unit菜单加入Component->b2Components->b2BodyComponent [AddComponentMenu("b2Components/b2Bod ...

  4. C#_FindWindow

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. 解决IOS下不支持fixed的问题

    我们公司有一个页面底部用到了fixed样式,每当弹出键盘的时候,IOS下fixed就会走样(据我所知android没有该问题). 为此之前我经过产品的同意做了简单的处理(方法1). 方法一: focu ...

  6. ckeditor上传图片的注意点

    1.要在 ckeditor的  config.js 文件中加上 CKEDITOR.editorConfig = function( config ) { config.filebrowserImage ...

  7. dubbo 分布式架构学习视频链接

    http://www.roncoo.com/course/view/f614343765bc4aac8597c6d8b38f06fd 书籍 大型分布式网站架构设计与实践 http://item.jd. ...

  8. GLSL 纹理贴图

    #include <ork/render/FrameBuffer.h> #include <ork/scenegraph/SceneManager.h> #include &l ...

  9. 好友与组--ESFramework 4.0 进阶(11)

    大部分分布式通信系统中,都会涉及到客户端之间相互通信.以及需要将客户端进行分组的功能,或者是类似这方面的需求.ESFramework对这一常见的任务内置了强大的支持,包括从客户端到服务端.一直到Pla ...

  10. IE6下的bug

    一.IE6双倍边距bug 当页面上的元素使用float浮动时,不管是向左还是向右浮动:只要该元素带有margin像素都会使该值乘以2,例如“margin-left:10px” 在IE6中,该值就会被解 ...