2013-08-06 5 views
0

Я разрабатываю приложение для Android, которое использует nanohttpd для создания веб-сервера. Мой код не дает мне никаких ошибок, но сервер не работает, потому что когда я перехожу к xx.xxx.xxx.xxx: 8765/index.htm, то он не дает мой никакого результата это мой код: Пожалуйста, помогите ...Nanohttpd в android не обслуживает файлы

package dolphin.developers.com; 

import java.io.File; 
import java.io.IOException; 
import java.util.Properties; 

import dolphin.devlopers.com.R; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Environment; 

    public class AlertDialogActivity extends Activity { 
    private static final int PORT = 8765; 
    private MyHTTPD server; 

    @Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
} 

@Override 
    protected void onResume() { 
    super.onResume(); 


    try { 
    server = new MyHTTPD(); 
    } catch (IOException e) { 

     e.printStackTrace(); 
} 
} 



    @Override 

    protected void onPause() { 

     super.onPause(); 

     if (server != null) 
     server.stop(); 

    } 

    public class MyHTTPD extends NanoHTTPD { 

     public MyHTTPD() throws IOException { 

      super(PORT, null); 

     } 

     public Response serve(String uri, String method, Properties header, Properties parms, Properties files) { 
       File rootsd = Environment.getExternalStorageDirectory(); 
       File path = new File(rootsd.getAbsolutePath() + "/samer"); 
       Response r = super.serveFile("/index.htm", header, path, true); 
       return r; 
} 
} 
} 

ответ

2

выглядит как простое исправление --- в onResume() вы создаете сервер, но вам все еще нужно назовите «start()» на нем.

Смежные вопросы