`

aidl自定义类型

阅读更多
BtDevice.java
package com.example.aidl_service;

import android.os.Parcel;
import android.os.Parcelable;

public class BtDevice implements Parcelable{
	
	private int id;
	private String  device;
	
	public BtDevice() {
		// TODO Auto-generated constructor stub
	}
	
	public BtDevice(int readInt, String readString) {
		// TODO Auto-generated constructor stub
		this.id=readInt;
		this.device=readString;
	}
	
	@Override
	public int describeContents() {
		// TODO Auto-generated method stub
		return 0;
	}
	@Override
	public void writeToParcel(Parcel dest, int flags) {
		// TODO Auto-generated method stub
		
		dest.writeInt(id);
		dest.writeString(device);
	}
	
	public static final Parcelable.Creator<BtDevice> CREATOR=new Creator<BtDevice>() {
		
		@Override
		public BtDevice[] newArray(int size) {
			// TODO Auto-generated method stub
			return new BtDevice[size];
		}
		
		@Override
		public BtDevice createFromParcel(Parcel source) {
			// TODO Auto-generated method stub
			return new BtDevice(source.readInt(),source.readString());
		}
	};
	

}




BtDevice.aidl
package com.example.aidl_service;
parcelable BtDevice;

MyAidl.aidl
package com.example.aidl_service;

import java.util.List;

import android.bluetooth.BluetoothDevice;

import com.example.aidl_service.BtDevice;

interface MyAidl {
	
	String getStr();
	
	String getStr2(String str);
	
	List<BluetoothDevice> getBT();
	
	String getDevice(in BluetoothDevice device);
	
	BtDevice getDevice2(in BtDevice btDevice);
	
}



记得要把BtDevice连同生成的aidl的java文件一起拷到client里面
分享到:
评论

相关推荐

    AIDL自定义类型交互

    **Android AIDL(Android Interface Definition Language)自定义类型交互** 在Android系统中,当需要在不同的进程间进行通信时,AIDL(Android Interface Definition Language)是首选的技术。它是一种接口定义...

    Android使用AIDL完成自定义对象的远程传递示例

    本示例主要探讨如何通过AIDL实现自定义对象的远程传递,这在多进程协作或服务通信中非常常见。 首先,我们需要了解AIDL的基本概念。AIDL文件是一种接口定义文件,它允许我们声明方法签名,这些方法将在服务和客户端...

    安卓AIDL相关-androidstudio下使用aidl接口传递自定义对象.rar

    在AIDL中,你可以定义基本数据类型,如int、String等,也可以定义自定义的复杂对象。但传递自定义对象时,需要注意以下几点: 1. 自定义对象必须实现Parcelable接口:在Android中,只有实现了Parcelable接口的对象...

    AIDL传递自定义对象

    当我们需要在不同的应用程序组件之间传递复杂的数据类型,比如自定义对象时,AIDL就显得尤为重要。本篇文章将深入探讨如何使用AIDL来传递自定义对象。 首先,我们需要了解AIDL的基本结构。AIDL文件本质上是一个接口...

    安卓aidl的demo,包括自定义类型

    这个“安卓aidl的demo”涵盖了AIDL的基本用法,包括服务端和客户端的实现,以及自定义类型的消息传递。下面将详细阐述这些知识点。 首先,AIDL是一种接口定义语言,它的主要作用是让不同的进程间能够安全、高效地...

    AIDL 初级运用,实例自定义接口的运用

    每个方法参数都需要指定其数据类型,AIDL支持基本数据类型、List、Map、Parcelable对象等。 2. **编译过程**: 编写好AIDL文件后,Android Studio会自动生成对应的Java类,这些类用于处理实际的参数序列化和反序列化...

    Android AIDL使用介绍(2)自定义数据类型的传递

    默认情况下,AIDL只支持下列数据类型: Java八种基础数据类型(如 int、long、char、boolean 等); String字符串; CharSequence字符序列; List列表,List中的所有元素须是前面提到的数据类型,或者是Parcelable...

    Android 使用AIDL跨进程通信--传递自定义对象

    `IRemoteBinder.aidl`可能定义了一个接口,该接口包含了处理跨进程通信的方法,而`Book.aidl`则可能定义了一个自定义的数据类型`Book`,这个类型将在进程间传递。 `IRemoteBinder.aidl`可能会这样写: ```aidl ...

    android studio下使用aidl接口传递自定义对象

    AIDL提供了一种机制,使得Android应用能够跨进程传递数据,包括自定义对象。本文将深入探讨如何在Android Studio环境下,利用AIDL接口来传递自定义对象。 首先,了解AIDL的基本概念。AIDL是一种接口定义语言,它...

    AIDL传递基础数据类型

    本篇文章将深入探讨如何使用AIDL传递基础数据类型。 **AIDL简介** AIDL允许开发者定义接口,这些接口可以被Android系统用来在不同进程中暴露服务。它的工作原理类似于Java的接口,但是AIDL接口中的方法可以包含参数...

    aidl案例小分析 in out inout 自定义类型传输

    aidl案例小分析 in out inout 自定义类型传输,主要针对aidl的客户端与服务端通信,先打开服务端,操作客户端,查看日志以及界面即可了解in out inout 区别,分析地址...语言较为混乱,java和kotlin kotlin都是简单的...

    aidl基本数据类型Demo

    如果需要自定义对象的序列化,你需要在AIDL文件中声明这些对象,并实现Parcelable或Serializable接口。 总结一下,"aidl基本数据类型Demo"展示了如何使用AIDL在Android中实现进程间通信。通过定义AIDL接口,服务端...

    传递复杂数据类型的AIDL服务的客户端

    总之,"传递复杂数据类型的AIDL服务的客户端"示例展示了如何利用AIDL在客户端和服务器之间传递自定义的复杂数据类型,这对于构建需要进行进程间通信的大型Android应用是非常重要的。理解并掌握AIDL可以帮助开发者更...

    AIDL、Messenger 两种方式实现跨进程通信,传递自定义数据

    对于自定义数据类型,AIDL也支持,只需在AIDL文件中声明,然后在接口方法中使用。 接着,我们看看Messenger。Messenger是另一种轻量级的跨进程通信方式,它基于Handler和Message机制。服务端创建一个Message的...

    android aidl 复杂数据类型 传图片service

    对于基本数据类型,AIDL支持直接传递,但对于复杂类型如Bitmap(图片)或者自定义对象,我们需要做额外的工作。 在标题中提到的“复杂数据类型 传图片service”,意味着我们要处理的是如何将图片作为参数传递给...

    非基本数据类型aidl通信Demo

    在AIDL中,我们可以声明方法和参数,参数可以是基本数据类型(如int、String等)或者自定义的数据类型。 在处理非基本数据类型时,AIDL需要一个特殊的步骤,即定义一个Parcelable接口实现类。Parcelable接口是...

    AIDLDemo,Android aidl 使用demo

    - 数据类型:AIDL支持基本数据类型,如int、String等,以及自定义的数据结构。 例如,一个简单的AIDL接口定义可能如下: ```aidl package com.example.aidldemo; import com.example.aidldemo.MyParcelable; ...

    绑定服务BoundService详解之AIDL的使用(自定义属性也包含其中)

    这里的`custom_data`是自定义的结构体类型,需要在同一个AIDL文件中定义。例如: ```aidl parcelable custom_data { int id; string name; list&lt;int&gt; numbers; } ``` AIDL会自动生成对应的Java接口和类,用于...

    AndroidAIDL

    自定义类型需实现Parcelable接口。 - AIDL调用是异步的,因此需要处理可能的并发问题。 - 服务端需要处理客户端断开连接的情况,避免内存泄漏。 **5. 示例** 以下是一个简单的AIDL接口定义: ```aidl interface ...

Global site tag (gtag.js) - Google Analytics