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

热点内容
游戏开发程序员书籍 浏览:841
pdf中图片修改 浏览:268
汇编编译后 浏览:473
php和java整合 浏览:829
js中执行php代码 浏览:440
国产单片机厂商 浏览:57
苹果手机怎么设置不更新app软件 浏览:284
转行当程序员如何 浏览:492
苹果id怎么验证app 浏览:864
查看手机命令 浏览:953
抖音反编译地址 浏览:225
如何加密软件oppoa5 浏览:233
java从入门到精通明日科技 浏览:94
拆解汽车解压视频 浏览:597
新版百度云解压缩 浏览:592
android上下拉刷新 浏览:880
centos可执行文件反编译 浏览:838
林清玄pdf 浏览:271
黑马程序员java基础 浏览:284
awss3命令 浏览:359