마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

android 5.0 -> 6.0 으로 올리면 StringEntity 에서 오류가 나옵니다.

0 추천

안녕하세요. 

 

안드로이드 sdk 버전을 5.0 에서 6.0 으로 업데이트를 하고있는중인데요..ㅜㅠ

나머지 오류나는건 구글링을 통해 해결을 했는데 ㅜㅠ 마지막에 걸려서 막혀있습니다. ㅜㅠ

 

public static void post(Context mContext, String url, JSONObject jsonParams, JsonHttpResponseHandler responseHandler) {
		System.out.println(url);
		System.out.println(jsonParams.toString());
		StringEntity se = null;
		
		try {
			se = new StringEntity(jsonParams.toString(), "UTF-8");
			se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));

			client.setTimeout(10000);
			client.post(mContext, getAbsoluteUrl(url), se, "application/json", responseHandler);
			
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

 CommonClient.post(mContext, "cancelList.json", params, new JsonHttpResponseHandler() {
                ProgressDialog progressDialog = new ProgressDialog(mContext);
                
                @Override
                public void onStart() {
                    progressDialog.setMessage("데이터 조회중...");
                    progressDialog.show();
                    super.onStart();
                }

                @Override
                public void onFinish() {
                    progressDialog.dismiss();
                    super.onFinish();
                }

                @Override
                public void onSuccess(JSONArray response) {
                    System.out.println("[response] : " + response);

                    try {
                        grid.clear();

                        if (response.length() == 0) {
                            MsgManager.showDialog(mContext, "", "조회된 승인결과값이 없습니다.", null);
                            return;
                        }

                        HashMap<String, String> map = new HashMap<String, String>();
                        JSONObject json = new JSONObject();
                        int ressize = response.length();
                        for (int i = 0; i < ressize; i++) {
                            map = new HashMap<String, String>();
                            json = new JSONObject();
                            json = response.getJSONObject(i);
                            JSONArray columnsName = json.names();

                            int iColumnSize = columnsName.length();

                            for (int j = 0; j < iColumnSize; j++) {
                                String columnName = columnsName.get(j).toString();

                                if (columnName.equals("card_num")) {
                                    map.put(columnName, json.get(columnName).toString());
                                    String cardnum = json.get(columnName).toString();
                                    // 0 1 2 3 -4 5 6 7 - 8 9 10 11 - 12 13 14 15
                                    int cardnumsize = cardnum.length();
                                    if (cardnumsize == 16) {
                                        String pre = cardnum.substring(0, 4);
                                        String pre1 = cardnum.substring(4, 8);
                                        String pnd = cardnum.substring(12, 16);
                                        String bar = "****";

                                        cardnum = pre + "-" + pre1 + "-" + bar + "-" + pnd;
//                                        cardnum = pre + "-" + bar + "-" + bar + "-" + pnd;
                                        map.put("cardNumber", cardnum);
                                    }
                                    if (cardnumsize == 15) {
                                        // 0 1 2 3 -4 5 6 7 8 9 -10 11 12 13 14
                                        map.put(columnName, json.get(columnName).toString());
                                        String pre = cardnum.substring(0, 4);
                                        String bar = "******";
                                        String pnd = cardnum.substring(10, 15);

                                        cardnum = pre + "-" + bar + "-" + pnd;
                                        map.put("cardNumber", cardnum);
                                    }
                                    if (cardnumsize == 14) {
                                        // 0 1 2 3 - 4 5 6 7 8 9 - 10 11 12 13
                                        map.put(columnName, json.get(columnName).toString());
                                        String pre = cardnum.substring(0, 4);
                                        String bar = "******";
                                        String pnd = cardnum.substring(10, 14);

                                        cardnum = pre + "-" + bar + "-" + pnd;
                                        map.put("cardNumber", cardnum);
                                    } else {
                                        map.put("cardNumber", cardnum);
                                        map.put(columnName, json.get(columnName).toString());
                                    }

                                } else {
                                    map.put(columnName, json.get(columnName).toString());
                                }

                            }
                            System.out.println("[한줄값]" + map);
                            grid.insertItem(map);

                        }

                        super.onSuccess(response);
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    super.onSuccess(response);
                }

                @Override
                public void onFailure(Throwable e, JSONArray errorResponse) {
                    e.printStackTrace();
                    
                    MsgManager.showDialogYesNo(mContext, "", "조회 실패하였습니다. 다시시도하시겠습니까?",
                            new DialogInterface.OnClickListener() {

                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    SearchData();

                                }
                            }, new DialogInterface.OnClickListener() {

                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    finish();

                                }
                            });
               
                    super.onFailure(e, errorResponse);
                }

            });

위 코드에서 StringEntity부분이 오류라고 나옵니다.

android 6.0 StringEntity

StringEntity error ...

등등등.. 검색을 해봣는데 해결을 못하고있습니다. ㅜㅠ  

검색 키워드나.. 잘못된것 좀 부탁드립니다. ㅜㅠ 

 

감사합니다.

 

 

꾸우우 (1,140 포인트) 님이 2016년 3월 29일 질문

1개의 답변

...