2013-07-17 2 views
0

привет, все я создаю веб-сервер для Android с NanoHttpd и когда я его запускаю. Он говорит, что активность перестала работать, пожалуйста, помогите, что мне делать. Это код, который я использую. Здесь идет код: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). Heres очень простой файл манифеста, посмотрите на тег. Я помещаю ваш класс в качестве записи.

<?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, он говорит, что не может подключиться к серверу в любом случае, чем для ответа на вопрос. – Prakhar

+0

Id say 1.) убедитесь, что ваш веб-сервер работает даже после того, как вы закрываете приложение, чтобы посмотреть его (если вы посмотрите на него со своего телефона/планшета). 2.) Чтобы протестировать это и протестировать в целом, вам может быть повезло связать телефон или планшет с локальной сетью Wi-Fi и найти IP-адрес вашего телефона, оттуда использовать свой локальный IP-адрес для доступа к вашему серверу с вашего компьютера, например: 192.168.2.13:8080. Я просто делаю снимки в темноте: D удачи. –

+0

, когда я попробовал, что он говорит, что хост принимает слишком много времени, чтобы ответить на любое предложение. – Prakhar

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

  • Нет связанных вопросов^_^