文档介绍:Bundle 扩展
一、一级目录()
二级目录()
二级目录()
二级目录()
Bundle
Bundle
应用场景
跨配置更改瞬时数据时。
在活动之间传递意图时。
在跨进程通信时,例如IPC/Binder事务。
Bundle
Bundle
跨配置更改瞬时数据时
***@Override
protected void onSaveInstanceState(Bundle outState) {
(TAG, "onSaveInstanceState: ");
(outState);
String data = "愿圣光忽悠着你";
("et2",data); }
***@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
(savedInstanceState); }
Bundle
Bundle
跨配置更改瞬时数据时
***@Override
protected void onCreate(Bundle savedInstanceState) {
(TAG, "onCreate: ");
(savedInstanceState);
setContentView();
textView = (TextView) findViewById();
if (savedInstanceState != null){
String str = ("et2").toString();
(str);}}
Bundle
Bundle
在活动之间传递意图时。
Intent intent = new Intent();
Bundle bundle = new Bundle();
("name","brkc");
(bundle);
Bundle
Bundle
在跨进程通信时,例如IPC/Binder事务。
第三种跨进程通信就有点复杂了(后面我们会讲解跨进程是什么),能跨进程通信的方法有很多种,利用Bundle传输数据只是其中的一种,但是有一个条件是绕不开的,那就是序列化,只有满足序列化的要求,才能进行跨进程通信。
那么何为序列化?
Bundle
序列化
序列化
序列化是指把Java对象转换为字节序列并存储到一个存储媒介的过程。反之,把字节序列恢复为Java对象的过程则称之为反序列化。
Java对象存在的一个前提是JVM有在运行,因此,如果JVM没有运行或者在其他机器的JVM上是不可能获取到指定的Java对象的。而序列化操作则是把Java对象信息保存到存储媒介,可以在以上不可能的情况下仍然可以使用Java对象。
序列化是什么?