Java 纳米httpd不工作

Java 纳米httpd不工作,java,android,webserver,nanohttpd,Java,Android,Webserver,Nanohttpd,大家好,我正在用NanoHttpd为android创建一个web服务器,当我运行它时,它说该活动已停止工作,请帮助我做什么。这是我正在使用的代码。代码如下: package dolphin.developers.com; import java.io.IOException; import java.util.Map; public class MyHTTPD extends NanoHTTPD { /** * Constructs an HTTP server

大家好,我正在用NanoHttpd为android创建一个web服务器,当我运行它时,它说该活动已停止工作,请帮助我做什么。这是我正在使用的代码。代码如下:

    package dolphin.developers.com;

import java.io.IOException;
import java.util.Map;

public class  MyHTTPD  extends NanoHTTPD {

    /**
    * Constructs an HTTP server on given port.
    */
   public MyHTTPD()throws IOException {
       super(8080);
   }


@Override
   public Response serve( String uri, Method method,
           Map<String, String> header, Map<String, String> parms,
           Map<String, String> files )
   {
       System.out.println( method + " '222" + uri + "' " );
       String msg = "<html><body><h1>Hello server</h1>\n";
       if ( parms.get("username") == null )
           msg +=
               "<form action='?' method='get'>\n" +
               "  <p>Your name: <input type='text' name='username'></p>\n" +
               "</form>\n";
       else
           msg += "<p>Hello, " + parms.get("username") + "!</p>";

       msg += "</body></html>\n";
       return new NanoHTTPD.Response(msg );
   }


   public static void main( String[] args )
   {
       try
       {
           new MyHTTPD();
       }
       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");
       };
   }

}

查看您的AndroidManifest.xml并确保您的主要活动已注册(在您的示例中是MyHTTPD)。这是一个非常基本的清单文件,看看标签。我把你的课作为一个条目

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.epstest"
    android:versionCode="1"
    android:versionName="1.0" >
    ....
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

....
---------------------------------------------------------------------------------------

        <activity
            android:name="dolphin.developers.com.MyHTTPD"
            android:label="@string/title"
            android:configChanges="orientation" >
        </activity>
    </application>

</manifest>

---------------------------------------------------------------------------------------

        <activity
            android:name="dolphin.developers.com.MyHTTPD"
            android:label="@string/title"
            android:configChanges="orientation" >
        </activity>
    </application>

</manifest>


你能看一看你的LogCat,看看错误信息是什么吗?嘿,我已经添加了LogCat。我添加了它,但现在它没有给我一个错误,但当我尝试使用127.0.0.1:8080查看服务器时,它说无论如何不能连接到服务器。thanx回答..我说1。)确保你的Web服务器正在运行,即使你关闭了服务器要查看的应用程序(如果您从手机/平板电脑查看)。2.)若要测试此项并进行一般测试,您可能会更幸运地将手机/平板电脑连接到本地wifi网络并找到手机的IP地址,从那里使用其本地IP从您的计算机访问您的服务器,例如:192.168.2.13:8080。D:祝你好运。当我试着说主机花了太多时间回应任何建议时,我得到的唯一想法是使用一个不同于8080的端口。8080是tomcat服务器使用的端口,可以在android手机上保留(只是快速猜测)。只需在代码中设置断点并定期进行测试,尝试使用调试方法,如通过命令提示符ping手机,当遇到问题时,从您能做的事情和您知道正在做的事情开始,然后按照您的方式解决问题。德国劳埃德船级社