2016-09-02 4 views
-2

リクエストに基づいてイベントをやっているファイル(html/png ..)に役立つアンドロイドでhttpサーバーを作りたいと思います。httpリクエストに基づいてアンドロイド変更テキストビューテキスト

例:リクエストが/maketoastの場合、アンドロイドはトーストまたはリクエストを行います。/chanhetextアンドロイドは特定のテキストビューのテキストを変更します。

ポイントは:すでにサーバーをNanohttpdで作成しています。ファイルを提供しますが、トーストやテキストビューテキストの変更などのイベントは一切行いません。ここで

は、私はトーストサーバがフリーズを行くようにしようと任意の応答を与えるものではありません場合はNanohttpdは方法

public Response serve(IHTTPSession session) { 
     String msg = "<html><body><h1>Hello server</h1>\n"; 
     Map<String, String> parms = session.getParms(); 
     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><img src=max.png/>"; 
     } 
     //Toast.makeText(mContext, "Helloooooo...!!!", Toast.LENGTH_SHORT).show(); 
     return newFixedLengthResponse(msg + "</body></html>\n"); 
    } 

を提供しています。どのように私はこの種のものを作るか教えてください。

+0

あなたはおそらくあなたのNanohttpdを他のスレッドに入れていないようです... – RRTW

答えて

0

試してみてください。

getActivity().runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      Toast.makeText(mContext, "Helloooooo...!!!", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
0

あなたはトーストやその他のUIの応答を表示するために、あなたの活動にLocalBroadCastを送ることができるように、サービスにあなたのNanohttpdを入れてください。

関連する問題