android学习笔记之十二进程通信(IPC)

来源:互联网 发布:linux rpm not find 编辑:程序博客网 时间:2024/06/11 11:01

IPC在android是一个非常独特的实现方式,它是通过binder 驱动来实现不同进程的通信的.

深入的了解清看李先静的<<Android IPC机制详解>>

 

 不同进程之间交换数据通过Parcelable包装交换数据.可以通过Intent在不同的进程之间传送数据.
 1,Parcelable包装交换数据实现
   a,新建一个实现Parcelable接口的Wrap类.示例

Java代码 复制代码
  1. public class Wrap implements Parcelable {   
  2.     public T Data;   
  3.     public int describeContents() {   
  4.         return 0;   
  5.     }   
  6.   
  7.     public void writeToParcel(Parcel dest, int flags) {   
  8.         dest.writeXX(Data);   
  9.     }   
  10.        
  11.     public Wrap(T value) {   
  12.          Data =value;   
  13.     }   
  14.   
  15.     private Wrap(Parcel in){   
  16.         Data=in.readXX();   
  17.     }   
  18.   
  19.     public static final Parcelable.Creator<Wrap> CREATOR = new Parcelable.Creator<Wrap>(){   
  20.         public Wrap createFromParcel(Parcel source) {   
  21.             return new Wrap(source);   
  22.         }   
  23.         public Wrap[] newArray(int size) {   
  24.             return new Wrap[size];   
  25.         }   
  26.      };   
  27. }//end class  
  注意:被包装的数据必须可序列化

   b,数据交互
     Bundle.putParcelable(String key,Parcel value) 传入数据
     Bundle.getParcelable(String key) 返回传入的Parcelable实例,再通过该实例获取数据

原创粉丝点击