1

これまでのところ、Googleで質問に対するすべての回答を見つけることができましたが、今回はあきらめてアカウントを作成しました...

私はEclipseでGAEforAndroidアプリケーションを使い始めました。もちろん、ApiMethodsを使用してAPIを作成しています。
私が書いたメソッドの1つに戻り値がありますが、クライアントコードでは無効になっているようです。
これは、私が生成しようとしている非常に便利な方法です。

@ApiMethod(name = "weather.bla")
public double Bla(double d)
{
    return 2.5;
}

ご覧のとおり、このメソッドはパラメーターとしてdouble変数を取得し、doubleを返しますが、クライアント側のコードでは、これらのdoubleを認識していないようです(weather()。bla()に自動完了します)。 .execute()メソッドはVoidです)
生成されたコードを編集して必要な場所にdoubleを追加しようとしましたが、アプリケーションを実行しようとしたときよりも、「強制終了」アラートや警告が発生しませんでした。 、アプリが消えたところです。

さらに奇妙なことに、GAEコードに「Weather」というクラスがあり、Weatherクラスを使用するApiMethodsが完全に生成されます。

ここにいくつかの基本的なものが欠けていますか?

4

1 に答える 1

2

引数および戻り型としてJavaBeansを渡す必要があります。これは機能します:

class Response {
  private Double d;

  // getter and setter
}

@ApiMethod(name = "weather.bla")
public Response Bla()
{
  Response r = new Response();
  r.setD(2.5)
  return r;
}

これの例外は、クエリパラメータです(APIメソッドへの引数として)。引数に注釈を付ける場合は@Named、Java Beanである必要はありません(、、、などを使用できますDoubleStringLong次に例を示します。

@ApiMethod(name = "weather.bla")
public Response Bla(@Named("d") Double d)
{
  Response r = new Response();
  r.setD(d)
  return r;
}
于 2013-01-25T18:49:56.973 に答える