导航:首页 > 操作系统 > androidbundle传递对象

androidbundle传递对象

发布时间:2024-03-27 00:53:52

1. android Intent传递对象为什么要序列化,序列化有那几种方式

        我们都知道进行android 开发的时候,跳转到Activity和Fragment的时候,传递对象是通过Intent或者bundle 进行传递。当这个对象没有实现序列化的时候 当你通过Inetnt传递的时候会报红,系统会提示你将这个对象实现序列化。

      1.先了解一下 什么是序列化。通过对《Android 开发艺术探索》可以知道序列化是将一个对象转化成可存储可传输的状态,序列化后的对象可以在网络上传输,也可以存储到本地。

       2.回到我们的主题,那为什么要序凳春列化呢?<大致有三个原因>

         则橡      a.永久性保存对象,保存对象的字节序列到本地文件中

               b.对象可以在网络中传输

               c.对象可以在IPC之间传递

    3.序列化有那几种方式呢<有两种方式> 

      android自定义对象可序列化有两个选择一个是Serializable和Parcelable

     4.它们之间有什么区别?

             a.在使用内存的时候Parcelable比Serializable的性能高。

             b.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC(内存回收)。

             c.Parcelable不能使用在将对象存储在磁盘上这种情况,因为在外界的变化下Parcelable不能很好的保证数据的持续性。

            d.实现Serializable很简单 因为Serializable是一个空接口 所以只要在在实体类中实现这个接孙粗旁口即可 Parcelable就稍微复杂了一点了 

            这里有实现Parcelable 这个接口的列子  blog.csdn.net/jaycee110905/article/details/21517853  

2. android bundle能传递bitmap吗

可以啊 可以直接传好吧!
Bitmap bitmap = null;
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putParcelable("bitmap", bitmap);
intent.putExtra("bundle", bundle);
bitmap已经自己实现了Parcelable接口

3. android bundle可以传递arraylist吗

可以的

4. android intent 可以传递enum 吗

可以使用序列化对象保存enum对象,如下内容:
bundle.putSerializable(String key , Seralizable data) //向Bundle放入一个可序列化的对象,例如:enum123123

示例:
Intent intent = new Intent(MainActivity.this,OtherActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable("enum", YourEnum.TYPE1);
intent.putExtras(bundle); //将bundle传入intent中。12341234

get
bundle.getXxx(String key);//从Bundle取出Int、String等各种类型的数据
bundle.gutSerializable(String key ) //从Bundle取出一个可序列化的对象,例如:enum1212

示例:
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
YourEnum TYPE1 = (YourEnum ) bundle.get("enum");//这时使用get()取出一个Object类型的对象,可以进行强制类型转化。

阅读全文

与androidbundle传递对象相关的资料

热点内容
解压机压什么不烂 浏览:376
大牛盒子插件文件夹 浏览:19
用友t3如何远程连接服务器 浏览:748
保时捷行车记录仪需要什么app 浏览:721
文件服务器中的DFS全名是什么 浏览:467
365小说app现在叫什么 浏览:59
海贝音乐app的独占usb输出是什么 浏览:407
宏观经济学高鸿业pdf 浏览:303
我的荣耀9x有方舟编译器吗 浏览:982
linux父子进程通信 浏览:896
程序员为什么总是用手机 浏览:316
安卓9程序怎么用 浏览:853
如何恢复编译 浏览:859
mybatispdf 浏览:887
plc使用的是单片机吗 浏览:821
如何让安卓平板音量上限 浏览:244
代理服务器请求超时如何设置 浏览:124
pdf批量盖章 浏览:787
珠江宽频网关服务器地址 浏览:717
程序员练打字网站 浏览:585