не удалось найти импорт для класса android.database.Cursor в файле AIDL - PullRequest
0 голосов
/ 15 февраля 2012

Я создал сервис, который будет воспроизводить песню в фоновом режиме.Мне нужен курсор базы данных из сервиса, когда песня меняется в сервисе.

У меня есть функция в сервисе, которая возвращает курсор текущей песни.

public Cursor getCursor() {
    return nextmanagedCursor;
}

Проблеманаходится в интерфейсе AIDL, когда я объявляю функцию в интерфейсе AIDL, затмение выдает следующую ошибку:

Couldn't find import for class android.database.Cursor

содержимое файла aidl, как показано ниже

package com.bobcares.pixie.audio;

import android.database.Cursor; /* Error in this line cannot import android.database.Cursor*/

interface IAudioInterface{

Cursor getCursor();

}

Этоправильный способ использовать не примитивные типы данных в файле AIDL

1 Ответ

1 голос
/ 19 февраля 2012

На самом деле проблема в том, что Cursor - это не класс Parcelable, это интерфейс. Таким образом, вы не можете передать его с помощью. Вы должны использовать обертки вокруг него. Но я не знаю, какие вам нужны обертки, потому что я с ними не работал. Возможно CrossProcessCursor - это то, что вы ищете.

...