1

appengine共有フォルダーにSportsLeagueAndroidRequestを作成するRPCサービスを作成しました。プロジェクトを試してみると、エラーが表示されます

[エラー][sportsleagueandroid]-遅延バインディング結果タイプ'edu.columbia.sportsleagueandroid.shared.SportsLeagueAndroidRequest'は抽象的であってはなりません

SportsLeagueAndroidRequestは、RPCサービスを作成するときに自動的に生成されるインターフェイスです!!

このエラーを取り除くにはどうすればよいですか?

final EventBus eventBus = new SimpleEventBus();

final MyRequestFactory requestFactory = GWT.create(SportsLeagueAndroidRequest.class);
requestFactory.initialize(eventBus);

sendMessageButton.addClickHandler(new ClickHandler() 
{
public void onClick(ClickEvent event) 
{
    //String recipient = recipientArea.getValue();
    //String receivers[] = recipient.split(",");
    String message = messageArea.getValue();
   // setStatus("Connecting...", false);
    sendMessageButton.setEnabled(false);
    sendNewTaskToServer(message);
}
private void sendNewTaskToServer(String message) {
    SportsLeagueAndroidRequest request = requestFactory.sportsLeagueAndroidRequest();
    StadiumProxy task = request.create(StadiumProxy.class);
4

1 に答える 1

1
final MyRequestFactory requestFactory = GWT.create(SportsLeagueAndroidRequest.class);

を呼び出しGWT.createていRequestContextます。ここでRequestFactory説明されているように、で呼び出す必要があります。

RequestFactoryリンクした例のように拡張するインターフェースを作成する必要があります。メソッドを見ると、実際にはからsendNewTaskToServer呼び出しています。見る?以前にで作成したインターフェースから呼び出す必要があります。sportsLeagueAndroidRequest()SportsLeagueAndroidRequestsportsLeagueAndroidRequest()RequestFactoryGWT.create

RequestFactoryのライフサイクルは次のようになります。

  1. RequestFactoryを使用して新しいを作成しますGWT.create(MyRequestFactory.class)
  2. RequestContextを使用して作成するmyRequestFactory.myRequestContext()
  3. を使用してリクエストを送信しますmyRequestContext().myDomainMethod().fire()
于 2012-04-15T22:55:00.633 に答える