我想在android中创建一个http服务器,它根据请求提供事件(html / png ..)。
示例:如果请求是/maketoast
android进行吐司或请求是/chanhetext
android更改特定的textview文本。
重点是:我已经通过Nanohttpd
创建了一个服务器。它提供文件,但它不会发生任何事件,例如制作吐司或更改textview文本。
这是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 :(得分:0)
尝试:
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(mContext, "Helloooooo...!!!", Toast.LENGTH_SHORT).show();
}
});
答案 1 :(得分:0)
将您的Nanohttpd放入服务中,以便您可以将LocalBroadCast发送到您的活动以显示Toast或任何其他UI响应。