Android_Intent_note

时间:2022-08-29 13:23:44

Activity间传递参数的方法
方法1. 通过putExtra()传递基本数据类型
方法2. 通过putExtras()传递Bundle数据类型
方法3. 通过Application读写全局变量

方法4. 把基本的数据类型封装到一个对象中,然后通过intent传递该对象
需要考虑对Person对象进行序列化

Java中的序列化使用Serializable
Android中的序列化使用Parcelable

用法如下:
1. 需要对可序列化的类,实现Parcelable接口
2. 实现Parcelable接口中的抽象方法
2.1 describeContents() 该方法直接返回0
2.2 writeToParcel(Parcel out, int flags) 把需要序列化的参数写入out中 比如:
out.writeString(name);
out.writeInt(age);
out.writeDouble(weight);
3. 定义一个静态的属性CREATOR 是Parcelable.Creator的对象
在该匿名内部类中,实现Parcelable.Creator中的两个方法(泛型参数为类名)
方法1.
createFromParcel(Parcel in) 对in进行反序列化(需要通过Person的构造器实现)
方法2.
newArray(Parcel in) 反序列化多个元素时使用

4. 定义私有的构造器 从in中反序列对应的参数(反序列化参数的顺序必须与序列化参数的顺序保持一致)

当SecondActivity需要回传参数时:
1. MainActivity启动SecondActivity时需要调用startActivityForResult()
并定义请求码
2. SecondActivity在合适的使用调用setResult()设置返回码和返回的参数
然后调用finish()结束当前Activity
3. MainActivity需要重写onActivityResult()捕获SecondActivity返回的结果

常用的返回码为:
RESULT_OK 成功
RESULT_CANCEL 失败
RESULT_FIRST_USER 用户自定义的返回码
RESULT_FIRST_USER + 1
RESULT_FIRST_USER + 2
……

Android_Intent_note的更多相关文章

    随机推荐

    1. RabbitMQ的安装

      随笔记下Rabbit的环境搭建 1.下载RabbitMQ:RabbitMQ下载地址 Windows下安装 <1>安装Erlang 下载地址:Erlang下载 安装: Erlang安装完成 ...

    2. java 15 - 9 集合框架之 栈、队列、数组 和 链表

    3. HTTPS-使用Fiddler抓取HTTPS数据包原理

      最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...

    4. virtualbox下 ubuntu 14&period;04设置外网独立IP

      安装时记得选择sshserver vim /etc/network/interfaces iface eth0 inet static address YOUR IP netmask 子网掩码 get ...

    5. JNA开发中的问题积累

      [Qboy原创] 2013年12月28日 在开发一个项目过程中需要调用第三方的C的dll.由于是第一次在项目中使用JNA,很多都安装开发文档来做,但是出现了很多的问题. 由于很多接口还没调完,还不知道 ...

    6. 数据聚合 &amp&semi; 分组:新一代系统监控的核心功能

      遥想 2015 年 8 月 17 日,Cloud Insight 还在梳理功能原型,畅想 Cloud Insight 存在的意义:为什么阿里云用户需要使用 Cloud Insight 来加强管理. 而 ...

    7. COJ 1006 树上操作

      传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=979 WZJ的数据结构(六) 难度级别:D: 运行时间限制:1000ms: ...

    8. JS学习之prototype属性

      javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用.以A.prototype = new B();为例, 理 ...

    9. android 获取本机号码需要root吗&quest;

      首先要明白,有的手机是获取不到自身的手机号的, 查了些资料,有以下两种方式可以获取到:      1. 通过对方给你发短信,打电话获取本机号码:       2. 还有一个就是通过APN来查询,但是这 ...

    10. Codeforces Round &num;410 &lpar;Div&period; 2&rpar;D题

      D. Mike and distribution time limit per test 2 seconds memory limit per test 256 megabytes input sta ...