2013-01-14 3 views
2

Я беру свой первый набег на службы Android и испытываю проблемы с ошибками компиляции в файлах AIDL. Я использую Eclipse (с Android Development Tools) и Android 4.1. У меня есть следующие файлы: AIDLне понимает ошибки компиляции в файлах AIDL

Weather.aidl

package ws.hamacher.weatherservice.service; 

parcelable ws.hamacher.weatherservice.dto.Weather; 

В этом файле, я получаю «интерфейс ws.hamacher.weatherservice.dto.Weather должен быть объявлен в файле WS \ Hamacher \ weatherservice \ сервис \ ws.aidl «. на подходящей строке, но это относится к моему классу Java!

IWeatherService.aidl

package ws.hamacher.weatherservice.service; 

import ws.hamacher.weatherservice.service.Weather; 

interface IWeatherService { 
    void addToWeatherService(in Weather weather); 
    void deleteFromWeatherService(in Weather weather); 
    List<Weather> getLocations(); 
} 

Здесь снова, то оператор импорта дает «интерфейс подобная ошибка ws.hamacher.weatherservice.dto.Weather должна быть объявлена ​​в файле WS \ Hamacher \ weatherservice \ сервис \ ws.aidl «. Это должно относиться к первому файлу выше справа?

Наряду с этим в декларациях метода есть ошибки, относящиеся к «неизвестному типу погоды».

Любая помощь будет оценена по достоинству.

+0

Что говорит строка 'import' в отношении первого фрагмента помощи? Почему ты оставил этот жизненно важный бит? – t0mm13b

+0

Спасибо за ответ. Не совсем понимаю ваш вопрос. Я представил все сообщения об ошибках и код. – badgerduke

+0

'weather.aidl', вы там что-то пропустили? Он должен быть завернут в ** интерфейс ** – t0mm13b

ответ

0

Решено. Мой Weather.aidl должен был находиться в том же каталоге, что и мой удобный класс Weather.

+0

У меня такая же ошибка. Не могли бы вы помочь мне .. Спасибо – ADT

1

Если вы хотите отправить пользовательский объект, например, Weather класса, вы должны пакет создающих: ws.hamacher.weatherservice.dto

пишут:

Weather.java

в упаковке: ws.hamacher.weatherservice.dto так:

public class Weather implements Parcelable { 
.... 
} 

Затем написать Weather.aidl:

package ws.hamacher.weatherservice.dto; 

parcelable Weather; 

См. AndroidMusicPlayer и AndroidMusicPlayerClient для реального кода.

+0

Спасибо за ваш ответ. Я уже создал класс Weather Java, как вы сказали. – badgerduke

+0

Вы можете увидеть исходный код AndroidMusicPlayer. Галд, я мог бы помочь. – herbertD