Я написал приложение, которое реализует веб-сервер с многопоточностью.
Основная деятельность имеет кнопку, чтобы начать / остановить поток. Когда сервер включен, этот поток остается в режиме прослушивания и, если есть запрос, он создает новый поток для его обслуживания.
Приложение работает нормально, но теперь я бы использовал службу, чтобы она могла работать в фоновом режиме.
На самом деле у меня есть этот дизайн (в упрощенном виде):
WebServer.java
class WebServer implements Runnable{
protected Thread t;
public void start(){
ON=true;
t=new Thread(this,"WebServer");
t.start();
}
public void stop(){
ON=false;
t=null;}
public void run(){
while(ON)
...
}
public isOn(){
return ON;
}
}
DroidServer.java
class DroidServer extends WebServer{
...
}
MyActivity.java
public class MyActivity extends Activity{
ws = new DroidServer(8080,this);
btn.setOnClickListener(new OnClickListener(){
public void onClick(View V){
if(!ws.isOn()){
ws.start();
btn.setText("Stop");
}else{
ws.stop();
btn.setText("Start");
}}});
}
Что я должен изменить, чтобы использовать Сервисы? Я бы хотел расширить Service от DroidServer, но этот класс уже расширяет WebServer ... какие-нибудь решения?