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

热点内容
keil5编程32单片机 浏览:634
pdf文件截取 浏览:158
服务器放到云上和云下有啥区别 浏览:671
单片机玻璃管加热研究成果 浏览:761
财产pdf 浏览:796
java添加图标 浏览:891
命令与征服4任务攻略 浏览:97
算法和逻辑程序验证 浏览:772
用户管理系统php模板 浏览:424
中国银行app账号怎么登录 浏览:872
安卓手机icloud云服务器地址 浏览:806
加密门禁如何写到小米手机 浏览:176
java静态方法的多线程 浏览:272
CAXAXp下载打不开要加密 浏览:251
开锁pdf 浏览:95
python可视化奶茶 浏览:231
命令方字幕 浏览:594
苹果手机如何连接ipad服务器 浏览:987
打印矩阵java 浏览:406
如何双开一个不能双开的app 浏览:541