Передача объекта очереди через IPC в Android

У меня есть класс X, который реализует очередь.

Я хочу передать объект класса X в интерфейс AIDL. Когда я импортирую класс X в файл.aidl, Eclipse показывает ошибку и говорит: "не удалось найти импорт для класса 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 {}

Вы можете прочитать здесь, как реализовать интерфейс Parcelable.

Другие вопросы по тегам