Я создал класс WebProvider для добавления сервера Jetty в мое приложение для Android и статические ресурсы сервера.
Я запускаю сервер кнопкой, но не могу получить доступ к адресу http://localhost:8080.
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.server.handler.ResourceHandler;
public class WebProvider {
private static Server server;
private static HandlerCollection hc;
private static String path;
public void startServer(){
if(this.path != null && !this.path.isEmpty()){
this.server = new Server(8080);
this.hc = new HandlerCollection(true);
this.setResources(this.path);
this.server.setHandler(this.hc);
try {
this.server.start();
this.server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void setResources(String path){
if(this.hc!= null){
this.path = path;
Handler[] allHandler = this.hc.getHandlers();
if(allHandler != null){
for(int i=0;i<allHandler.length;i++){
this.hc.removeHandler(allHandler[i]);
}
}
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setResourceBase(path);
this.hc.addHandler(resourceHandler);
}else{
this.path = path;
}
}
}
Я вызываю сервер, чтобы установить ресурсы для обратного вызова одной кнопки, а затем запускаю сервер для обратного вызова другой кнопки.
Кнопка 1
WebProvider si = new WebProvider();
si.setResources(this.url);
Кнопка 2
WebProvider si = new WebProvider();
si.startServer();