Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象。

要求被传递的对象必须实现上述2种接口中的一种才能通过Intent直接传递。

Intent中传递这2种对象的方法:

Bundle.putSerializable(Key,Object); //实现Serializable接口的对象
Bundle.putParcelable(Key, Object); //实现Parcelable接口的对象

以下以最常用的Serializable方式为例 :

假设由登录界面(Login)跳转到主界面(MainActivity)传递的对象为登录的用户信息 User类

首先创建一个序列化类:User

import java.io.Serializable;

public class User implements Serializable {
   private int ID;
    private String UserName;   
    private String PWD;   
    public final void setID(int value)
    {
        ID = value;
    }
    public final int getID()
    {
        return ID;
    }   
    public final void setUserName(String value)
    {
        UserName = value;
    }
    public final String getUserName()
    {
        return UserName;
    } 
    public final void setPWD(String value)
    {
        PWD = value;
    }

    public final String getPWD()
    {
        return PWD;
    }   
   
}

登录窗体登录后传递内容:

Intent intent = new Intent();

intent.setClass(Login.this, MainActivity.class);

Bundle bundle = new Bundle();

bundle.putSerializable("user", user);

intent.putExtras(bundle);

this.startActivity(intent);

接收端:

Intent intent = this.getIntent();

user=(User)intent.getSerializableExtra("user");

以上就可以实现对象的传递。

补充:

如果传递的是List<Object>,可以把list强转成Serializable类型,而且object类型也必须实现了Serializable接口

Intent.putExtras(key, (Serializable)list)

接收

(List<YourObject>)getIntent().getSerializable(key)

转载于:https://www.cnblogs.com/Jingerxin/p/5101882.html

Android 开发笔记——通过 Intent 传递类对象相关推荐

  1. 通过 Intent 传递类对象

    Android中Intent传递类对象提供了两种方式一种是 通过实现Serializable接口传递对象,一种是通过实现Parcelable接口传递对象. 要求被传递的对象必须实现上述2种接口中的一种 ...

  2. 通过Intent传递类对象

    2019独角兽企业重金招聘Python工程师标准>>> 一.Intent是什么 1.定义 Intent被译作意图,其实还是很能传神的,Intent期望做到的,就是把实现者和调用者完全 ...

  3. Android开发笔记(二十七)对象序列化

    什么是序列化 程序中存储和传递信息,需要有个合适的数据结构,最简单的是定义几个变量,变量多了之后再分门别类,便成了聚合若干变量的对象.代码在函数调用时可以直接传递对象,但更多的场合例如与文件交互.与网 ...

  4. Android 开发中使用Intent传递数据的方法

    Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.short ...

  5. android studio访问webservice如何传递类对象报错_小白学习web service,这是最最最基础的了,只用JDK还不会吗?...

    Java Web Service实践 Web Service直接翻译就是网络服务. 主要为了解决各种语言,各种系统之间不兼容,通过SOAP(简单对象访问协议)实现互联互通. 其核心就是这个SOAP,通 ...

  6. Android开发笔记(八十六)几个特殊的类

    接口interface interface是一些功能的集合,但它只定义了对象必须实现的成员,而不包含成员的实现代码,成员的具体代码由实现接口的类提供.Android对接口的使用场景主要有三类:事件监听 ...

  7. Android开发笔记(序)写在前面的目录

    知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经验教训,与网友互相切磋,从而去芜存菁进一步提升自己的水平.因此博主就想,入门的东西咱就不写了,人不能老停留在入 ...

  8. Android开发笔记(序)

    本开发笔记,借鉴与其他开发者整理的文章范例与心得体会.在这里作为开发过程中的一个总结与笔记式记录. 如有侵犯作者权益,请及时联系告知删除.俗话说:集百家成一言,去粕成金. ************** ...

  9. Android开发笔记(序)写在前面的目录大全

    转自  湖前琴亭 的博客https://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面 ...

最新文章

  1. 文件系统演示C语言,基于C语言的简单文件系统的实现
  2. (0108)iOS开发之Xcode11: 删除默认Main.storyBoard、自定义根控制器
  3. amazon mws api 获取所有产品_Amazon’s Choice是什么?Amazon's Choice标签全解读
  4. [官网]Prevent a worm by updating Remote Desktop Services (CVE-2019-0708)
  5. MFC C++ 获取外网IP地址
  6. 计算机维护与维修课程简介,计算机维修与维护教学大纲.DOC
  7. javascript / node.js / npm install 时 --save 和 --save-dev 的区别
  8. Docker(二)-在Docker中部署Nginx实现负载均衡(视频)
  9. Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
  10. Exchange 迁移 Public Folder 公共文件夹
  11. Gitbook 常用命令
  12. python中的classmethod_面试题:python 中 staticmethod 和 classmethod有什么区别
  13. python 反弹shell,加了UDP
  14. C语言面试题 - 指针概念
  15. 通用阿里云的短信验证码(详细)
  16. 中国湿地沼泽分类分布/自然保护区分布
  17. 计算机主板高清图解 清华同方,清华同方bios设定图解
  18. 敏捷测试 之 借力DSL
  19. 基于STM32单片机的风力摆控制系统
  20. 我的世界启动器制作教程

热门文章

  1. 2017-2018-1 20155223 实验三 实时系统
  2. MyBaties异常之 ORA-00918: 未明确定义列
  3. javascript:jquery.history.js使用方法
  4. 项目范围管理---定义范围
  5. 【bzoj2006】【NOI2015】超级钢琴
  6. 循环——批量处理数据
  7. 设计模式(一)简单工厂(创建型)(JavaPHP)
  8. Python2.x自学笔记(一)——Json格式与请求
  9. oracle 10g/11g 命令对照,日志文件夹对照
  10. 4月全球域名商域名解析量23强:西数解析量破百万