2013-03-09 3 views
0

NanoHTTPD를 사용하여 Android에서 웹 페이지를 로컬로 호스팅하고 있습니다.NanoHTTPD가 다른 페이지를 표시하지 않습니다.

내 문제는 서버 내 사이트의 색인 페이지로 응답하지만 난 항상 인덱스 페이지로 응답합니다 때문에 과거의 모든 페이지를 탐색하는 방법을 알아낼 수 없다는 것입니다.

아무도 튜토리얼을 얻지 못했습니다. 아무 것도 찾을 수 없습니다. 감사합니다 :)

private class MyHTTPD extends NanoHTTPD { 
    public MyHTTPD() throws IOException { 
     super(PORT, null); 
    } 

    @Override 
    public Response serve(String uri, String method, Properties header, Properties parms, Properties files) { 
     Log.d("response", "URI:" + uri + " method: " + method + " header: " + header + " parms: " + parms + " files: " + files); 
     final StringBuilder buf = new StringBuilder(); 
     for (Entry<Object, Object> kv : header.entrySet()) 
      buf.append(kv.getKey() + " : " + kv.getValue() + "\n"); 
     handler.post(new Runnable() { 
      @Override 
      public void run() { 
       hello.setText(buf); 
      } 
     }); 
     //load the index page 
     String html = null; 
     InputStream is = getClass().getResourceAsStream("/com/me/pages/index.html"); 
     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 index as response 
     return new NanoHTTPD.Response(HTTP_OK, MIME_HTML, html); 
    } 
} 
+0

아무도 신경 쓰지 않으면 입력 스트림의 끝에 URI를 첨부했습니다. 멋지고 간단합니다 :) – user1056798

답변

0

NanoHTTPD가 표시되지 않는 다른 페이지

물론

, 그것은serve 기능 그냥 /com/me/pages/index.html 파일을 제공하여 쁘띠으로, 다른 사람을 표시하지 않습니다. 다른 파일 (말한대로 페이지)의 경우 URI를 제공 할 해당 파일에 매핑해야합니다.

예를 들어, 다른 프로그래머가 github에서 NanoHTTPD를 개발할 수 있습니다. 네트워크 그래프가 여기에 있으며 여러 페이지를 제공하는 귀하의 사례에 도움이 될 수있는 특정 포크는 here입니다.

+0

링크를 업데이트하려면 NanoHttpd가 https://github.com/NanoHttpd/nanohttpd에 있습니다. 실험중인 다른 사람들의 네트워크는 https://github.com/NanoHttpd입니다./nanohttpd/network - "Simple Web Server"샘플은 여러 파일을 제공하는 것과 관련하여 좋은 사례 연구 일 수 있습니다. https://github.com/NanoHttpd/nanohttpd/blob/master/webserver/src/main/java/fi/iki/elonen/SimpleWebServer.java에서 찾을 수 있습니다. –

관련 문제