当前位置:   article > 正文

Android 客户端起HttpServer NanoHttpd_yyauu8ioooiopppuujjklkklkjhklll

yyauu8ioooiopppuujjklkklkjhklll

最近接到客户那边需求,说需要实现一个java后端请求android客户端,android客户端作为微型Web服务端,听起来真的很刺激,后面去网上查找一些资料,了解NanoHttpd是怎么回事?NanoHTTPD是一个免费、轻量级的(只有一个Java文件) HTTP服务器,可以很好地嵌入到Java程序中。支持 GET, POST, PUT, HEAD 和 DELETE 请求,支持文件上传,占用内存很小。
github地址:https://github.com/NanoHttpd/nanohttpd。

导入nanohttpd-webserver-2.1.1-jar-with-dependencies.jar包 这个不需要多解析,如果是as环境小伙伴,相信已经很熟悉,不多赘述。

首先创建Service

  1. package xxx;
  2. import java.io.IOException;
  3. import org.xutils.common.util.LogUtil;
  4. import com.youngtek.evaluation.bean.CounterBindEmpInfo;
  5. import com.youngtek.nanohttp.NanohttpdService;
  6. import com.youngtek.nanohttp.ResponseListener;
  7. import android.app.Service;
  8. import android.content.Context;
  9. import android.content.Intent;
  10. import android.os.Binder;
  11. import android.os.IBinder;
  12. import android.util.Log;
  13. public class NanoService extends Service {
  14.     private ResponseListener mResponseListener=new ResponseListener() {
  15.         
  16.         @Override
  17.         public void onResponseSucess(CounterBindEmpInfo mCounterBindEmpInfo) {
  18.             // TODO Auto-generated method stub
  19.             
  20.         }
  21.         
  22.         @Override
  23.         public void onResponseError(String msg, int code) {
  24.             // TODO Auto-generated method stub
  25.             
  26.         }
  27.     } ;
  28.     private Context cxt;
  29.     private NanohttpdService mNanohttpdService;
  30.     public NanoService() {
  31.         this.cxt = cxt;
  32.     }
  33.     @Override
  34.     public void onCreate() {
  35.         // TODO Auto-generated method stub
  36.         super.onCreate();
  37.         LogUtil.v("NanoServer on Start!");
  38.         Log.v("NanoServer", "NanoService Start");
  39.         new Thread(new Runnable() {
  40.             @Override
  41.             public void run() {
  42.                 // TODO Auto-generated method stub
  43.                 mNanohttpdService = new NanohttpdService(0, mResponseListener,
  44.                         cxt);
  45.                 try {
  46.                     mNanohttpdService.start();
  47.                 } catch (IOException e) {
  48.                     // TODO Auto-generated catch block
  49.                     e.printStackTrace();
  50.                 }
  51.             }
  52.         }).start();
  53.     }
  54.     @Override
  55.     public IBinder onBind(Intent arg0) {
  56.         // TODO Auto-generated method stub
  57.         return null;
  58.     }
  59.     @Override
  60.     public int onStartCommand(Intent intent, int flags, int startId) {
  61.         // TODO Auto-generated method stub
  62.         return START_STICKY;
  63.     }
  64.     @Override
  65.     public void onDestroy() {
  66.         // TODO Auto-generated method stub
  67.         super.onDestroy();
  68.         if (mNanohttpdService != null) {
  69.             mNanohttpdService.stop();
  70.             mNanohttpdService =null;
  71.         }
  72.     }
  73. }


2、继承NanoHTTPD 

  1. package com.youngtek.nanohttp;
  2. import android.content.Context;
  3. import android.content.res.Resources;
  4. import android.graphics.Bitmap;
  5. import android.graphics.BitmapFactory;
  6. import android.text.TextUtils;
  7. import android.util.Log;
  8. import java.io.FileInputStream;
  9. import java.io.IOException;
  10. import java.util.HashMap;
  11. import java.util.Map;
  12. import org.greenrobot.eventbus.EventBus;
  13. import org.json.JSONObject;
  14. import org.xutils.common.util.LogUtil;
  15. import com.google.gson.Gson;
  16. import com.lidroid.xutils.util.LogUtils;
  17. import fi.iki.elonen.NanoHTTPD;
  18. public class NanohttpdService extends NanoHTTPD {
  19.     //默认端口
  20.     public static final int DEFAULT_SERVER_PORT = 8090;
  21.     public static final String TAG = NanohttpdService.class.getSimpleName();
  22.     private Context mContext;
  23.     Response response = null;
  24.     private ResponseListener listener;
  25.     public NanohttpdService(int port, ResponseListener listener, Context context) {
  26.         super(DEFAULT_SERVER_PORT);
  27.         this.listener = listener;
  28.         this.mContext = context;
  29.     }
  30.     @Override
  31.     public Response serve(String uri, Method method,
  32.             Map<String, String> headers, Map<String, String> parms,
  33.             Map<String, String> files) {
  34.         System.out.println("接收到请求数据"+files.size());
  35.         LogUtil.v("接收到请求数据");
  36.         CounterBindEmpInfo mCounterBindInfo = new CounterBindEmpInfo();
  37.         //接收客户端的post请求
  38. //        if (method.POST == Method.POST) {
  39.             LogUtil.v("接收到客户端Post请求"+parms);
  40.             Log.v(TAG,"接收到客户端Post请求"+parms);
  41.             Log.v(TAG,"接收到客户端接口地址:"+uri);
  42.             System.out.println("接收到客户端Post请求");
  43.             HttpReposeConstant mHttpReposeConstant = new HttpReposeConstant();
  44.             if (null != parms) {
  45.                 String oprId = parms.get("oprId");
  46.                 String name = parms.get("name");
  47.                 String photo = parms.get("photo");
  48.                 String siteno=parms.get("siteno");
  49.                 String remark=parms.get("remark");
  50.                 String status=parms.get("status");
  51.                 String motto=parms.get("motto");
  52.                 String orderno=parms.get("orderno");
  53.                 String result=parms.get("result");
  54.                 //mHttpReposeConstant.setResult(result);
  55.                 mCounterBindInfo.setOprId(oprId);
  56.                 mCounterBindInfo.setName(name);
  57.                 mCounterBindInfo.setPhoto(photo);
  58.                 mCounterBindInfo.setSiteno(siteno);
  59.                 mCounterBindInfo.setRemark(remark);
  60.                 mCounterBindInfo.setStatus(status);
  61.                 mCounterBindInfo.setMotto(motto);
  62.                 mCounterBindInfo.setOrderno(orderno);
  63. //                mCounterBindInfo.setResult(result);
  64. //                mCounterBindInfo.setOprId("NO•002");
  65. //                mCounterBindInfo.setName("宋•佳宇");
  66.     //            mCounterBindInfo.setPhoto("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");
  67. //                mCounterBindInfo.setSiteno("VIP");
  68. //                mCounterBindInfo.setRemark("温馨提示:请注意保管好您的财务");
  69. //                mCounterBindInfo.setStatus("00");
  70. //                mCounterBindInfo.setMotto("平时注入一滴水,难时拥有太平洋@@@@@@@@@@@!");
  71. //                mCounterBindInfo.setOrderno("C0001V");
  72. //                mCounterBindInfo.setResult(result);
  73.                 mHttpReposeConstant.setResult(result);
  74.                 //Log.v(TAG, mCounterBindInfo.orderno);
  75.             } else {
  76.                 mHttpReposeConstant.setResult(HttpReposeConstant.HTTP_STATUS_FAILED);
  77.                 listener.onResponseError("获取窗口信息请求失败", HttpResponseCode.HTTP_CODE_600);
  78.                 Log.v(TAG, "获取客户端参数失败");
  79.                 LogUtil.v("获取客户端参数失败!");
  80.                 DropLogUtil.savelog("获取客户端参数失败");
  81.             }
  82.             if (HttpReposeConstant.GETCOUNTINFO
  83.                     .equalsIgnoreCase(uri)) {// 柜台信息
  84.                 Log.v(TAG, "第一个接口uri地址:"+uri);
  85.                 LogUtil.v("NanoHttpService 第一个接口uri地址:"+uri);
  86.                 mCounterBindInfo.setType(1);
  87.                 if (mCounterBindInfo.isFailed()) {
  88.                     mHttpReposeConstant.setResult(HttpReposeConstant.HTTP_STATUS_FAILED);
  89.                     listener.onResponseError("请求窗口信息失败", HttpResponseCode.HTTP_CODE_700);
  90.                     Log.v(TAG, "请求窗口信息失败!");
  91.                     LogUtil.v("请求窗口信息失败!");
  92.                     DropLogUtil.savelog("请求窗口信息失败");
  93.                     
  94.                 } else {
  95.                     mHttpReposeConstant.setResult(HttpReposeConstant.HTTP_OK);
  96.                     listener.onResponseSucess(mCounterBindInfo);
  97.                     Log.v(TAG, "请求窗口信息成功!");
  98.                     LogUtil.v("请求窗口信息成功!");
  99.                     DropLogUtil.savelog("请求窗口信息成功!");
  100.                 }
  101.             } else if (HttpReposeConstant.GETCOUNTSTATUS
  102.                     .equalsIgnoreCase(uri)) {// 下发柜台状态
  103.                 Log.v(TAG, "第二个接口uri地址:"+uri);
  104.                 LogUtil.v("NanoHttpService第二个接口uri"+uri);
  105.                 mCounterBindInfo.setType(2);
  106.                 if (mCounterBindInfo.isNullStatus()) {
  107.                     mHttpReposeConstant.setResult(HttpReposeConstant.HTTP_STATUS_FAILED);
  108.                     listener.onResponseError("请求状态失败", HttpResponseCode.HTTP_CODE_800);
  109.                     Log.v(TAG, "请求状态失败!");
  110.                     LogUtil.v("请求状态失败!");
  111.                     DropLogUtil.savelog("请求状态失败!!");
  112.                     
  113.                 } else {
  114.                     // 获取状态成功
  115.                     mHttpReposeConstant.setResult(HttpReposeConstant.HTTP_STATUS_OK);
  116.                     listener.onResponseSucess(mCounterBindInfo);
  117.                     Log.v(TAG,"请求状态成功!");
  118.                     LogUtil.v("请求状态成功!");
  119.                     DropLogUtil.savelog("请求状态成功!");
  120.                 }
  121.                 
  122.             } else if (HttpReposeConstant.GETQUEUENO
  123.                     .equalsIgnoreCase(uri)) {// 下发排队信息
  124.                 Log.v(TAG, "第三个接口uri地址:"+uri);
  125.                 LogUtil.v("NanoHttpService第三个接口rui地址:"+uri);
  126.                 mCounterBindInfo.setType(3);
  127.                 if (mCounterBindInfo.isNullOrderOrSiteNo()) {
  128.                     mHttpReposeConstant.setResult(HttpReposeConstant.HTTP_STATUS_FAILED);
  129.                     listener.onResponseError("请求号票失败", HttpResponseCode.HTTP_CODE_900);
  130.                     Log.v(TAG, "请求号票失败!");
  131.                     LogUtil.v("请求号票失败!");
  132.                     DropLogUtil.savelog("请求号票失败!");
  133.                     
  134.                 } else {
  135.                     mHttpReposeConstant.setResult(mHttpReposeConstant.HTTP_STATUS_OK);
  136.                     listener.onResponseSucess(mCounterBindInfo);
  137.                     Log.v(TAG,"请求号票成功!");
  138.                     LogUtil.v("请求号票成功!");
  139.                     DropLogUtil.savelog("请求号票成功");
  140.                 }
  141.             } else {
  142.                 errorMsg("404");
  143.                 LogUtils.v("404");
  144.                 DropLogUtil.savelog("404");
  145.             }
  146.             String json=new Gson().toJson(mHttpReposeConstant);
  147.             LogUtil.v("响应客户端:" + json+mCounterBindInfo.getType());
  148.             Log.v(TAG,"响应客户端:" + json+mCounterBindInfo.getType());
  149.             Log.v(TAG, "哈哈"+mCounterBindInfo.getName());
  150.             DropLogUtil.savelog("响应客户端:"+json+mCounterBindInfo.getType()+"哈哈"+mCounterBindInfo.getName()
  151.             +"状态:"+mCounterBindInfo.getStatus());
  152.             response = new Response(json);
  153.             EventBus.getDefault().post(mCounterBindInfo);
  154.         return response;
  155.     }
  156.     /**
  157.      * @return void 返回类型
  158.      * @throws
  159.      * @Title: errorMsg
  160.      * @Description: TODO 异常信息提示
  161.      * @param3 设定文件
  162.      */
  163.     private void errorMsg(String str) {
  164.         String result = "01";
  165.         String respStr = "{\"result\": \"" + result + "\"}";
  166.         response = new Response(respStr);
  167.         LogUtil.v("响应报文:" + respStr);
  168.     }
  169. }

3、HttpResponseCode

  1. public class HttpResponseCode {
  2.     public static final int HTTP_CODE_600=600;
  3.     public static final int HTTP_CODE_700=700;
  4.     public static final int HTTP_CODE_800=800;
  5.     public static final int HTTP_CODE_900=900;
  6. }


4、ResponseListener

  1. package com.youngtek.nanohttp;
  2. public interface ResponseListener {
  3.     //返回响应实体对象String type 
  4.     void onResponseSucess(CounterBindEmpInfo mCounterBindEmpInfo);
  5.     void onResponseError(String msg,int code);
  6. }

5、CounterBindEmpInfo

  1. import android.text.TextUtils;
  2. public class CounterBindEmpInfo {
  3.     private  String oprId;// 柜员工号
  4.     private  String name;// 柜员姓名 (包括少数名族)
  5.     private  String photo;// Base64图片编码
  6.     private String siteno;// 柜台号(VIP或者数字)
  7.     private String remark;// 温馨提示语 30个汉字以内
  8.     private String status;// 00 显示号码 01暂停服务
  9.     private String motto;// 格言
  10.     private String orderno;//号票
  11.     private String result;
  12.     private int type;
  13.     public String reponseJsonData;
  14.     public String getOprId() {
  15.         return oprId;
  16.     }
  17.     public void setOprId(String oprId) {
  18.         this.oprId = oprId;
  19.     }
  20.     public String getName() {
  21.         return name;
  22.     }
  23.     public void setName(String name) {
  24.         this.name = name;
  25.     }
  26.     public String getPhoto() {
  27.         return photo;
  28.     }
  29.     public void setPhoto(String photo) {
  30.         this.photo = photo;
  31.     }
  32.     public String getSiteno() {
  33.         return siteno;
  34.     }
  35.     public void setSiteno(String siteno) {
  36.         this.siteno = siteno;
  37.     }
  38.     public String getRemark() {
  39.         return remark;
  40.     }
  41.     public void setRemark(String remark) {
  42.         this.remark = remark;
  43.     }
  44.     public String getStatus() {
  45.         return status;
  46.     }
  47.     public void setStatus(String status) {
  48.         this.status = status;
  49.     }
  50.     public String getMotto() {
  51.         return motto;
  52.     }
  53.     public void setMotto(String motto) {
  54.         this.motto = motto;
  55.     }
  56.     public String getOrderno() {
  57.         return orderno;
  58.     }
  59.     public void setOrderno(String orderno) {
  60.         this.orderno = orderno;
  61.     }
  62.     public String getResult() {
  63.         return result;
  64.     }
  65.     public void setResult(String result) {
  66.         this.result = result;
  67.     }
  68.     public int getType() {
  69.         return type;
  70.     }
  71.     @Override
  72.     public String toString() {
  73.         return "CounterBindEmpInfo [oprId=" + oprId + ", name=" + name
  74.                 + ", photo=" + photo + ", siteno=" + siteno + ", remark="
  75.                 + remark + ", status=" + status + ", motto=" + motto
  76.                 + ", orderno=" + orderno + ", result=" + result + ", type="
  77.                 + type + ", reponseJsonData=" + reponseJsonData + "]";
  78.     }
  79.     public void setType(int type) {
  80.         this.type = type;
  81.     }
  82.     public boolean isNull() {
  83.         if (TextUtils.isEmpty(this.oprId) 
  84.                 || TextUtils.isEmpty(this.name)
  85.                 || TextUtils.isEmpty(this.photo)
  86.                 || TextUtils.isEmpty(this.siteno)
  87.                 || TextUtils.isEmpty(this.remark)
  88.                 || TextUtils.isEmpty(this.status)
  89.                 || TextUtils.isEmpty(this.motto)
  90.                 ||TextUtils.isEmpty(this.orderno)
  91.                 ) {
  92.             return true;
  93.         }
  94.         return false;
  95.     }
  96.     public boolean isFailed() {
  97.         if (TextUtils.isEmpty(this.oprId) 
  98.                 &&TextUtils.isEmpty(this.name)
  99.                 && TextUtils.isEmpty(this.photo)
  100.                 && TextUtils.isEmpty(this.siteno)
  101.                 && TextUtils.isEmpty(this.remark)
  102.                 && TextUtils.isEmpty(this.status)
  103.                 && TextUtils.isEmpty(this.motto)
  104.                 && TextUtils.isEmpty(this.orderno)
  105.                 ) {
  106.             return true;
  107.         }
  108.         return false;
  109.     }
  110.     public boolean isNullOprId() {
  111.         if (TextUtils.isEmpty(this.oprId)
  112.                 ) {
  113.             return true;
  114.         }
  115.         return false;
  116.     }
  117.     public boolean isNullPhoto() {
  118.         if (TextUtils.isEmpty(this.photo)
  119.                 ) {
  120.             return true;
  121.         }
  122.         return false;
  123.     }
  124.     public boolean isNullOrderNo() {
  125.         if (TextUtils.isEmpty(this.orderno)
  126.                 ) {
  127.             return true;
  128.         }
  129.         return false;
  130.     }
  131.     public boolean isNullSiteNo() {
  132.         if (TextUtils.isEmpty(this.siteno)
  133.                 ) {
  134.             return true;
  135.         }
  136.         return false;
  137.     }
  138.     public boolean isNullRemark() {
  139.         if (TextUtils.isEmpty(this.remark)
  140.                 ) {
  141.             return true;
  142.         }
  143.         return false;
  144.     }
  145.     public boolean isNullMotto() {
  146.         if (TextUtils.isEmpty(this.motto)
  147.                 ) {
  148.             return true;
  149.         }
  150.         return false;
  151.     }
  152.     public boolean isNullStatus() {
  153.         if (TextUtils.isEmpty(this.status)) {
  154.             return true;
  155.         }
  156.         return false;
  157.     }
  158.     public boolean isNullOrderOrSiteNo() {
  159.         if (TextUtils.isEmpty(this.siteno) || TextUtils.isEmpty(this.orderno)) {
  160.             return true;
  161.         }
  162.         return false;
  163.     }
  164. }


最后通过startService(new Intent(MainActivity.this, NanoService.class));启动就完成java服务端请求客户端

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/155833
推荐阅读
相关标签
  

闽ICP备14008679号