Почему изображения и файлы стилей не могут быть найдены в NanoHTTPD
ПРОБЛЕМА : Я используюNanoHTTPD , Он отлично работает, но не обслуживает файлы .js, изображения и другие.
ДЕТАЛЬНОЕ ОБЪЯСНЕНИЕ : у меня естьpages
папка внутри папки активов. Эта папка, содержащаяindex.html
, CSS файлы, изображения и другие. Я использую NanoHTTPD, как это, но когда я просматриваю свой браузер, там нет никаких стилей или изображений. Сервер не может найти изображения и другие файлы. Существует только содержимое файла index.html. Деятельность :
MyHTTPD server = null;
try {
server = new MyHTTPD(getApplicationContext());
try
{
server.start();
}
catch( IOException ioe )
{
System.err.println( "Couldn't start server:\n" + ioe );
System.exit( -1 );
}
System.out.println( "Listening on port 8080. Hit Enter to stop.\n" );
try { System.in.read(); } catch( Throwable t ) {
System.out.println("read error");
};
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
MyHTTPD класс
public Context ctx = null;
/**
* Constructs an HTTP server on given port.
*/
public MyHTTPD(Context ctx) throws IOException {
super(8080);
this.ctx = ctx;
}
@Override
public Response serve( String uri, Method method,
Map<String, String> header, Map<String, String> parms,
Map<String, String> files )
{
String html = null;
InputStream is = null;
try {
is = ctx.getAssets().open("pages/index.html");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
byte[] b;
try {
b = new byte[is.available()];
is.read(b);
html = new String(b);
} catch (IOException e) { // TODO Auto-generated catch block
e.printStackTrace();
}
return new NanoHTTPD.Response(html);
}
НОТА Я прочитал эти вопросы (и ответы):Использование NanoHTTPD в Android ошибка загрузки файла nanohttpd Как создать сервер nanohttpd в Android?