安卓和後端服務器數據交互

記錄一下安卓和後端數據交互吧!數據傳輸框架OkHttp3

  • 題外話::其實安卓和後端的數據交互也就相當於網頁端和後端的交互一樣。後端一樣的寫接口!傳數據的變成了安卓端而已!由於公司要求都是寫全套的,所以也寫了那麼一點安卓!手動滑稽!當然博主還停留在Java開發安卓!就來說說數據交互吧!

1、後端寫好接口,postman測試沒問題!

	@RequestMapping("/getallareactrl")
	@ResponseBody
	public Result getAllAreaCtrl(@RequestBody ClientRestInfo startRollCallInfo) {
		logger.info("獲取數據 ...");
		List<AllControl> acList = areaCtrlRecordService.getAllAreaStats(Category.CRIMINAL.getValue());
		Result result = new Result(ResultType.OK, "");
		result.getResultMap().put(Constants.ResultKey.DATA_LIST, acList);
		return result;
	}

在這裏插入圖片描述

2、數據沒問題,那我們就需要來安卓端接收了!

	public void getAreaCtrlInfo(){
        new Thread(new Runnable() {
            @Override
            public void run() {
                JSONObject param = new JSONObject();
                param.put(Constants.Param.CLIENT_IP,getPadIP());  // 訪問後端接口需要的數據 一個個put進去
                String url = CommonCode.getPortalUrl(Constants.Portal.GET_ROLL_CALL_DATA);  //後端接口地址
                JSONObject result = CommonCode.postGetJson(param,url);  //返回的result
                if (CommonCode.getResultFlag(result)) {
                    JSONArray callInfos = (JSONArray) CommonCode.getResultMapProperty(result, Constants.Param.DATA_LIST);
				........處理這個result ,把json裏的數據提取出了來用
  • 來看看獲取後端完整訪問url的方法:
	public static String getPortalUrl(String portalname){
	        String url = "http://" + serverIpPort + portalname;
	        return url;
	    }
  • serverIpPort根據app的配置的服務器IP獲取的。如192.168.2.9:8080
  • 來看看獲取數據的OkHttp·方法:
	public static JSONObject postGetJson(JSONObject param, String url) {
        String resultstr = post(param,url);
        try{
            JSONObject result = JSONObject.parseObject(resultstr);
            return result;
        }catch (Exception e){
            JSONObject failed = new JSONObject();
            failed.put(Constants.Param.RESULT_FLAG,0);
            failed.put(Constants.Param.RESULT_MESSAGE,e.toString());
            return failed;
        }
    }

  • 所用均博主實用總結所得,可能不那麼權威,也可能有貽誤!如有錯!還望指正!謝謝!記錄一下,積累一點點!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章