AndroidデバイスでサーバーをService
. ユーザーがクライアント番号を入力すると、サービスが開始されます。アクティビティからサービスにデータを渡す代わりに、これを処理するより良い方法はありますか?
さらに、上記のアプローチを使用すると、クライアントがハングしてアプリケーションを強制的に破棄するように見えます。コードは次のとおりです。
String a = clients.getText().toString();
Bundle bundle = new Bundle();
bundle.putCharSequence("NumberOfClients", a);
Intent intent = new Intent(Manage.this, Server.class);
intent.putExtras(bundle);
Log.d("hi", a);
startService(intent);
そして、ここにサーバーがあります:
@Override
public void onCreate()
{
Thread server = new Thread(new ServerThread());
server.start();
}
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
Bundle bundle = new Bundle();
bundle = intent.getExtras();
numberofclients = (String) bundle.getCharSequence("NumberOfClients");
int a = Integer.parseInt(numberofclients);
return a;
}
ボタンを押してサーバーに接続すると、クライアントがハングします。なぜこうなった?