我是靠谱客的博主 安静麦片,最近开发中收集的这篇文章主要介绍【android】AIDL传递自定义类型参数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        Aidl默认支持的类型包话java基本类型(int、long、boolean等)和(String、List、Map、CharSequence),如果要传递自定义类型,首先要让自定义类型支持parcelable协议,实现步骤如下:
1>自定义类型必须实现Parcelable接口,并且实现Parcelable接口的public void writeToParcel(Parcel dest, int flags)方法 。

2>自定义类型中必须含有一个名称为CREATOR的静态成员,该成员对象要求实现Parcelable.Creator接口及其方法。

3> 创建一个aidl文件声明你的自定义类型。

Parcelable接口的作用:实现了Parcelable接口的实例可以将自身的状态信息(状态信息通常指的是各成员变量的值)写入Parcel,也可以从Parcel中恢复其状态。 Parcel用来完成数据的序列化传递。


首先,自定义一个类



public interface Callback extends Parcelable {
	/*
	 * 返回信息
	 */
	public void SetMessage(String res);

	
	public static final Parcelable.Creator<Callback> CREATOR = new Parcelable.Creator<Callback>() {

		@Override
		public Callback[] newArray(int size) {
			return new Callback[size];
		}

		@Override
		public Callback createFromParcel(Parcel source) {
			// TODO Auto-generated method stub
			return null;
		}
	};
}


其次,在自定义类型所在包下创建一个aidl文件对自定义类型进行声明,文件的名称与自定义类型同名。
package com.***;
parcelable Callback; 

再次,在要接口的aidl中注明

 void getMessage(String mum,inCallback obj);

最后

以上就是安静麦片为你收集整理的【android】AIDL传递自定义类型参数的全部内容,希望文章能够帮你解决【android】AIDL传递自定义类型参数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部