У меня есть класс X, который реализует Queue.
Я хочу передать объект класса 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, но он не работал. может ли кто-нибудь что-нибудь предложить?
Благодарю.
Попробуйте сделать ваш класс, реализующий интерфейс Parcelable. Поэтому в вашем случае декларация будет выглядеть так:
public class X implements Queue<byte[]>, Parcelable {}
Вы можете прочитать здесь, как реализовать интерфейс Parcelable.