导航:首页 > 操作系统 > 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传递对象相关的资料

热点内容
私人服务器怎么登录ip地址 浏览:778
蓝鸟压缩机压力大吗 浏览:994
Linux默认网关修改 浏览:759
一般企业用得多的语言编译器 浏览:411
程序员适合穷孩子读吗 浏览:886
安卓手机怎么开通美团专送 浏览:17
戴尔云服务器托管 浏览:202
服务器并发能力怎么调优 浏览:539
服务器发生错误时采取什么措施 浏览:106
异或加密升级 浏览:870
c语言编译器app怎么加行 浏览:157
文件夹皮壳机哪家便宜 浏览:923
原始编译器哪个好 浏览:243
java解压压缩文件 浏览:529
基本算法语句高考真题 浏览:828
espressoandroid使用 浏览:35
linux显示器型号 浏览:470
android快速定位方法 浏览:115
点胶机怎么编程 浏览:265
程序员用linux做什么 浏览:355