fengfeilong0529 / Android-Notes

Ask myself one question at least every day!
0 stars 1 forks source link

Android开启http服务 #22

Open fengfeilong0529 opened 5 years ago

fengfeilong0529 commented 5 years ago

实现方案:

}

#### 2.2)AddCardHandler.java:

public class AddCardHandler implements RequestHandler { private static final String TAG = "AddCardHandler";

@RequestMapping(method = {RequestMethod.POST})
@Override
public void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException {
    StringBuilder builder = new StringBuilder();
    BaseResponse baseResponse = new BaseResponse(0, "添加成功");
    String content = HttpRequestParser.getContent(request);
    AddCardBean addCardBean = new Gson().fromJson(content, AddCardBean.class);
    if (addCardBean != null) {
        String name = addCardBean.getName();
        String idNum = addCardBean.getIdnum();
        String photo = addCardBean.getPhoto();
        String gender = addCardBean.getGender();
        String nation = addCardBean.getNation();
        String address = addCardBean.getAddress();
        String validStart = addCardBean.getValid_start();
        String validEnd = addCardBean.getValid_end();

        if (TextUtils.isEmpty(name)) {
            builder.append("name不能为空,");
        }
        if (TextUtils.isEmpty(idNum)) {
            builder.append("idNum不能为空,");
        }
        if (TextUtils.isEmpty(photo)) {
            builder.append("photo不能为空,");
        }
        if (TextUtils.isEmpty(validStart)) {
            builder.append("validStart不能为空,");
        }
        if (TextUtils.isEmpty(validEnd)) {
            builder.append("validEnd不能为空,");
        }

        if (!TextUtils.isEmpty(builder.toString())) {
            baseResponse.code = 1;
            baseResponse.msg = builder.toString();
        } else {
            //添加名单
            CardBean cardBean = new CardBean();
            cardBean.setName(name);
            cardBean.setSex(gender);
            cardBean.setNation(nation);
            cardBean.setIdNum(idNum);
            cardBean.setAddress(address);
            cardBean.setUserType(UserType.TYPE_WHITE);
            cardBean.setValidStart(validStart);
            cardBean.setValidEnd(validEnd);

            Log.i(TAG, "handle: " + cardBean.toString());

            //解析base64图片
            Bitmap bitmap = FileUtil.base64StringToBitmap(photo);
            String error = CardManager.getInstance().addCard(bitmap, idNum + Constants.JPG, cardBean);
            RxBus.get().post(new RxUserChange());

            if (!TextUtils.isEmpty(error)) {
                baseResponse.code = 1;
                baseResponse.msg = error;
            }
        }
    } else {
        baseResponse.code = 1;
        baseResponse.msg = "参数错误";
    }

    response.setEntity(new StringEntity(new Gson().toJson(baseResponse), "utf-8"));
}

}

#### 2.3)DeleteCardHandler.java:

public class DeleteCardHandler implements RequestHandler { private static final String TAG = "DeleteCardHandler";

@RequestMapping(method = {RequestMethod.POST})
@Override
public void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException {
    StringBuilder builder = new StringBuilder();
    BaseResponse baseResponse = new BaseResponse(0, "删除成功");

    String content = HttpRequestParser.getContent(request);
    DeleteCardBean deleteCardBean = new Gson().fromJson(content, DeleteCardBean.class);
    if (deleteCardBean != null) {
        List<String> idnums = deleteCardBean.getIdnum();
        if (idnums.size() == 0) {
            builder.append("idnum不能为空");
        }
        if (!TextUtils.isEmpty(builder.toString())) {
            baseResponse.code = 1;
            baseResponse.msg = builder.toString();
        } else {
            //删除名单
            for (String idnum : idnums) {
                CardManager.getInstance().deleteCard(idnum);
                RxBus.get().post(new RxUserChange());
            }
        }
    } else {
        baseResponse.code = 1;
        baseResponse.msg = "参数错误";
    }

    response.setEntity(new StringEntity(new Gson().toJson(baseResponse), "utf-8"));
}

}


#### 2.4)在SplashActivity中开启HttpServer服务:
`HttpServer.getInstance().init();// 开启http服务`