0

我正在开发一个使用 nanohttpd 创建网络服务器的 android 应用程序,我的代码没有给我任何错误,但服务器没有运行,因为当我转到 xx.xxx.xxx.xxx:8765/index.htm 然后它给了我没有结果这是我的代码:请帮助...

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;
}
}
}
4

1 回答 1

2

看起来像一个简单的修复 --- 在 onResume() 中您创建了服务器,但您仍然需要在其上调用“start()”。

于 2013-08-22T13:55:23.017 回答