2013-07-17 31 views
0

你好我正在用NanoHttpd爲Android創建一個web服務器,當我運行它。它說該活動已停止工作,請幫助我該怎麼做。這是我正在使用的代碼。這裏有雲代碼:NanoHTTPD不能正常工作

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"); 
     }; 
    } 

} 

的logcat:

07-14 22:35:26.394: E/AndroidRuntime(581): FATAL EXCEPTION: main 
07-14 22:35:26.394: E/AndroidRuntime(581): android.content.ActivityNotFoundException: Unable to find explicit activity class {dolphin.devlopers.com/dolphin.developers.com.MyHTTPD}; have you declared this activity in your AndroidManifest.xml? 
07-14 22:35:26.394: E/AndroidRuntime(581): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404) 
07-14 22:35:26.394: E/AndroidRuntime(581): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 
07-14 22:35:26.394: E/AndroidRuntime(581): at android.app.Activity.startActivityForResult(Activity.java:2817) 
07-14 22:35:26.394: E/AndroidRuntime(581): at android.app.Activity.startActivity(Activity.java:2923) 
07-14 22:35:26.394: E/AndroidRuntime(581): at dolphin.developers.com.facebook1$DownloadFileFromURL.onPostExecute(facebook1.java:167) 
+0

您可以看看您的LogCat並查看錯誤消息有人說? –

+0

嘿,我已經添加了Logcat。 – Prakhar

回答

0

看着你的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> 
+0

我添加了它,但現在它不會給我一個錯誤,但是當我試圖查看服務器使用127.0.0.1:8080它說無法連接到服務器無論如何thanx爲answereing .. – Prakhar

+0

ID說1.)確保您的網絡服務器即使您關閉了應用程序以查看它(即使您從手機/平板電腦查看它),它也會繼續運行。 2.)爲了測試和測試一般情況下,你可能會有更好的運氣連接你的手機/平板電腦到你的本地wifi網絡,並找到你的手機的IP地址,從那裏使用它的本地IP從你的電腦訪問你的服務器,例如: 192.168.2.13:8080。我只是在這個時候在黑暗中拍攝:D祝你好運。 –

+0

當我試圖說主機是花太多時間來回應任何建議.. – Prakhar