1

我创建了一个 RPC 服务,它在 appengine 共享文件夹中创建了一个 SportsLeagueAndroidRequest。当我跑去尝试我的项目时,它显示一个错误

[错误] [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. 它需要在 a 上调​​用,如此RequestFactory所述。

您需要创建一个接口,该接口RequestFactory在我链接到的示例中进行扩展。如果你查看你的sendNewTaskToServer方法,你实际上是sportsLeagueAndroidRequest()SportsLeagueAndroidRequest. 看?您应该sportsLeagueAndroidRequest()从您RequestFactory之前使用创建的界面调用GWT.create

RequestFactory 生命周期如下所示:

  1. 创建一个新的RequestFactory使用GWT.create(MyRequestFactory.class)
  2. 创建一个RequestContext使用myRequestFactory.myRequestContext()
  3. 触发请求,使用myRequestContext().myDomainMethod().fire()
于 2012-04-15T22:55:00.633 回答