2

私はAndroidサービスに初めて参入し、AIDLファイルのコンパイルエラーに問題があります。Eclipse(Android Development Toolsを使用)とAndroid4.1を使用しています。私は次のAIDLファイルを持っています:

Weather.aidl

package ws.hamacher.weatherservice.service;

parcelable ws.hamacher.weatherservice.dto.Weather;

このファイルでは、「interfacews.hamacher.weatherservice.dto.Weatherはws\ hamacher \ weatherservice \ service\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();
}

ここでも、importステートメントで同様のエラーが発生します。「interfacews.hamacher.weatherservice.dto.Weatherは、ws \ hamacher \ Weatherservice \ service\ws.aidlというファイルで宣言する必要があります。」これは、右上の最初のファイルを参照している必要がありますか?

それに加えて、メソッド宣言にはすべて、「不明なタイプの天気」に合わせてエラーがあります。

どんな助けでもいただければ幸いです。

4

2 に答える 2

2

Weatherクラスなどのカスタムオブジェクトを送信する場合は、次のパッケージを作成する必要があります:ws.hamacher.weatherservice.dto

書きます :

Weather.java

パッケージ内:ws.hamacher.weatherservice.dto like this:

 public class Weather implements Parcelable {
....
}

次に、Weather.aidlと記述します。

package ws.hamacher.weatherservice.dto;

parcelable Weather;

実際のコードについては、 AndroidMusicPlayerおよびAndroidMusicPlayerClientを参照してください。

于 2013-01-14T07:53:40.673 に答える
0

解決しました。私のWeather.aidlは、私の区画可能なWeatherクラスと同じディレクトリになければなりませんでした。

于 2013-01-23T00:31:37.827 に答える