在Android中通过IPC传递队列对象

Posted

技术标签:

【中文标题】在Android中通过IPC传递队列对象【英文标题】:Passing Queue Object over IPC in Android 【发布时间】:2011-12-02 10:41:02 【问题描述】:

我有实现队列的 X 类。

我想将 X 类的对象传递给 AIDL 接口。当我在 .aidl 文件 Eclipse 中导入 X 类时 显示错误并说“找不到导入 com.test.X. 类。”虽然类是存在的。

package com.test

public class X implements Queue<byte[]>


public LinkedList<byte[]> que = new LinkedList<byte[]>();

int push =0, pop = 0;

public Iterator<byte[]> iterate = null;

public X()

    iterate = que.iterator();// TODO Auto-generated constructor stub


在 Google 上搜索时,我发现您必须为您希望在服务中使用的每个类创建一个单独的 .aidl 文件。所以,我创建了 X.aidl,但它没有用。 任何人都可以提出一些建议吗?

谢谢。

【问题讨论】:

【参考方案1】:

尝试让你的类实现 Parcelable 接口。因此,在您的情况下,声明将如下所示:

public class X implements Queue<byte[]>, Parcelable 

你可以阅读here如何实现Parcelable接口。

【讨论】:

以上是关于在Android中通过IPC传递队列对象的主要内容,如果未能解决你的问题,请参考以下文章

Android Service IPC通信之Messenger机制

在android中通过意图传递数据

在 C++ 中通过引用传递对象

在 C# 中通过引用传递对象和对象列表

在 C# 中通过引用或值传递对象

在 C++11 中通过引用 std::thread 传递对象