4)笔者建议,最好处理一下跨域的问题,因为是Android有可能和h5联调,所以设置了跨域今后比较便利调试,当然某些场景也可以忽视,看小我需求;办法已经在以上代码中写了;
- /**
- * 开启本地网页点歌的办事
- */
- public static void startLocalChooseMusicServer() {
- if (httpServer == null) {
- httpServer = new HttpServer();
- }
- try {
- // 启动web办事
- if (!httpServer.isAlive()) {
- httpServer.start();
- }
- Log.i(TAG, "The server started.");
- } catch (Exception e) {
- httpServer.stop();
- Log.e(TAG, "The server could not start. e = " + e.toString());
- }
- }
- /**
- * 封闭本地办事
- */
- public static void quitChooseMusicServer() {
- if (httpServer != null) {
- if (httpServer.isAlive()) {
- httpServer.stop();
- Log.d(TAG, "封闭局域网点歌的办事");
- }
- }
- }
2再看一下AndroidAsync: 这个框架就比较有意思了,功能也多,本文直说HttpServer方面的相干常识,其余按下不表。
惯例子,先说用法: 在Gradle中参加:
- dependencies {
- compile 'com.koushikdutta.async:androidasync:2.2.1'
- }
代码示例:(此处没有处理跨域,如不雅须要的话,请根据上一个例子去处理)
根据膳绫擎的例子,重要说以下几点:{大年夜概说的就是api用法啊这一类的}
1)例如:server.addAction(“OPTIONS”, “[\d\D]“, this)是通用的过滤请求的办法。第一个参数是请求的办法,例如用“OPTIONS”、“DELETE”、“POST”、“GET”等(留意用大年夜写),第二个参数是过滤uri的┞俘则表达式,此处是过滤所有的uri,第三个是回调参数。server.post(“[\d\D]“, this)、server.get(“[\d\D]*”, this)这个是上一个办法的特例。server.listen(PORT_LISTEN_DEFALT)这个是监听端口;
2) request.getHeaders().getMultiMap()
这个是获取header参数的处所,必定要谨记哦;
3)(( AsyncHttpRequestBody<Multimap>)request.getBody()).get()这个处所是获取post请求的参数的处所;

网友点评
精彩导读
科技快报
品牌展示