1

リモート サービスを使用して BlueTooth チャット (Android サンプルの 1 つなど) を構築しようとしています。しかし、最後の変更以降、アプリケーションが起動せず、ログno empty constructorにサービスのエラーが表示されます。この投稿を読みましたが、空のコンストラクターを追加できません。私が間違っていることがあるに違いないか、リモートサービスではうまくいかないかもしれません。

これは私のコンストラクタです:

public RemoteService(Context context, Handler handler) {
    mAdapter = BluetoothAdapter.getDefaultAdapter();
    mState = STATE_NONE;
}

誰かがそれの何が悪いのか教えてもらえますか?

4

3 に答える 3

1

試す:

public RemoteService() {
    super();
}

ビジネス ルールで、実際に空のコンストラクターを持つことはできないと規定されている場合を除きます。new RemoteService()それから、あなたがすべきではないときに、どこかを求めています。

于 2013-03-19T11:28:03.157 に答える
0

ご回答ありがとうございます。その間、誰かが私を助けてコードをきれいにし、コンストラクターを削除して、他のことをしましたが、すべてを理解できませんでした。

申し訳ありませんが、何が間違っていたのかを正確に説明することはできませんが、引数のないコンストラクターがエラーを生成していたと言えます。

于 2013-03-19T13:13:48.327 に答える
0

サービスがデフォルトのコンストラクターを要求するため、デフォルトのコンストラクターを提供する必要があります。その後、パラメーター化されたコンストラクターを使用できます。

public class ReminderService extends IntentService {

   ----------------------------
    public ReminderService() // Need to add the default constructor
    {
      super("ReminderService"); // Calling the super constructor
    }

   public RemoteService(Context context, Handler handler) //Then use your own constructor
   {
    mAdapter = BluetoothAdapter.getDefaultAdapter();
    mState = STATE_NONE;
  }
  ----------------------------------

}

これを試してみて、まだ問題がある場合はお知らせください。

于 2013-03-19T11:34:04.613 に答える