android中在各个service或者acitivity之间可以通过Intent来传递一些数据,intent原生直接提供了一些简单数据类型的数据的传递,使用起来也很方便,比如int boolean 和 string等,当然还可能传递这些类型的数组形式已经list形式;

  但在我们的使用往往希望可以传递一些自定义的类对象,目前通过intent可以通过两种形式,Serializable 或者 Parcelable

  Serializable 是java原有接口,而Parcelable是android封装过的,据说比Serializable要高效一点;android的官方文档也推荐使用Parcelable接口;

Serializable

  使用非常简单,要传递的类对象所对应的类名后增加 implents Serializable 即可,内部不需要再进行其他接口的实现;

  但是有一点要特别注意,因为是序列化,所以如果要传递的类是一个内部类,一定要将该类设置为static,否则使用上会有问题,当然前提是该类可以写成静态,如果不行就单独拎出去一个文件一个类;我在使用时,就遇到了这个问题,折腾好久。

Parcelable

  使用上比较麻烦,除了要implents Parcelable,还需要在类里面实现一些Parcelable的接口,如下:

    Parcelable.Creator<XXXXXX> CREATOR = new Parcelable.Creator<XXXXXX>()

    XXXXXX为你的类名;

  还要实现 writeToParcel 接口,两个接口的里面实现的数据读取顺序要一致.

更多相关文章

  1. Android(安卓)ORM 框架之 greenDAO应用基础
  2. Android(安卓)MVC框架模式的理解
  3. Android中联系人和通话记录详解(2)
  4. Android_ UEventObserver_监听USB插拔
  5. Android(安卓)基于Bmob云的商品查询显示实战案例
  6. Android(安卓)长按Listview显示CheckBox,实现批量删除
  7. Android(安卓)存储:Internal Storage的用法以及与External storag
  8. Android中Activity生命周期详解
  9. Andriod 开发之微信分享接口

随机推荐

  1. Android系统深度游
  2. Android之UI设计TextView属性
  3. [Android]电话拨号器开发
  4. 学习Android界面设计的超级利器Hierarchy
  5. Android设计模式系列(3)--SDK源码之单例
  6. Android 开发实践 Lambda表达式的使用
  7. android开发老罗教学视频
  8. h5页面与Android原生页面交互
  9. Google Inbox如何跨平台重用代码?
  10. Android系统介绍与框架