Intent传递类内容

转载 2015年07月06日 17:22:38

Serializable方式

Serializable是序列化的意思,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。至于序列化的方法也很简单,只需要让一个类去实现Serializable这个接口就可以了。
比如说有一个Person类,其中包含了name和age这两个字段,想要将它序列化就可以这样写:

public class Person implements Serializable{
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;
    }

}

其中get、set方法都是用于赋值和读取字段数据的,最重要的部分是在第一行。这里让Person类去实现了Serializable接口,这样所有的Person对象就都是可序列化的了。
接下来在FirstActivity中的写法非常简单:

Person person = new Person();
person.setName("Tom");
person.setAge(20);
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("person_data", person);
startActivity(intent);

可以看到,这里我们创建了一个Person的实例,然后就直接将它传入到putExtra()方法中了。由于Person类实现了Serializable接口,所以才可以这样写。
接下来在SecondActivity中获取这个对象也很简单,写法如下:

Person person = (Person) getIntent().getSerializableExtra("person_data");

这里调用了getSerializableExtra()方法来获取通过参数传递过来的序列化对象,接着再将它向下转型成Person对象,这样我们就成功实现了使用Intent来传递对象的功能了。

此论述来自《第一行代码》

代码路径:http://download.csdn.net/detail/happyhenji1213/8873851

相关文章推荐

intent传递类内容

  • 2015年07月06日 17:21
  • 910KB
  • 下载

Android Intent传递泛型类

  • 2014年07月04日 10:18
  • 1.29MB
  • 下载

使用Intent.ACTION_SEND分享图片和文字内容(新浪微博,短信等)

使用Intent.ACTION_SEND分享图片和文字内容(新浪微博,短信等) 泡在网上的日子 发表于 2014-11-03 00:00 第 4662 次阅读 分享,intent 5 ...

Android 系列 4.1使用Intent打开网页,电话号码或任何其他内容

4.1使用Intent打开网页,电话号码或任何其他内容 问题 你想要一个应用程序有一些实体由另一个应用程序处理,而不知道或关心什么是其他应用程序。 解 调用Intent构造函数;然后在构造的I...

手机高温警告提示内容不匹配的分析【多次调用PendingIntent.getBroadcast,intent数据不更新】

一、问题现象 两台手机进行测试,先是低温测试,其中一台弹出警告后点开并且关闭,另一台等到-18摄氏度弹出警告提示后不点开,接着使用温控箱做高温测试,在55摄氏度的时候status bar中正确显示高温...

发通知 PendingIntent 中Intent 内容没有更新

文章前部分来源:http://byandby.iteye.com/blog/1120375 Xml代码    android:name="SkyfileActivity...
  • hudashi
  • hudashi
  • 2011年12月11日 11:07
  • 2062

Android 自定义切换卡功能,通过intent跳转到添加内容页面

Phonespeedmain.xml文件 xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schem...

parcel 容器--IBinder parcelable--实现类--writeto parcel 传递数据 intent.put(name, parcelable)

Parcel 在英文中有两个意思,其一是名词,为包裹,小包的意思; 其二为动词,意为打包,扎包。邮寄快递中的包裹也用的是这个词。Android采用这个词来表示封装消息数据。这个是通过IBinder通信...

Intent传递对象Serializable

  • 2015年01月29日 16:37
  • 1.3MB
  • 下载

Intent传递对象、对象数组

  • 2016年03月20日 00:39
  • 1.66MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Intent传递类内容
举报原因:
原因补充:

(最多只允许输入30个字)