안녕하세요 ~ 하루만에 또 질문을...ㅠㅠ json paser에 대해 관련 질문입니다

조회수 1429회

이미지

10-18 09:01:31.218 15389-15897/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab1$AsyncHttpTask.parseResult(Tab1.java:215)
10-18 09:01:31.218 15389-15897/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab1$AsyncHttpTask.doInBackground(Tab1.java:145)
10-18 09:01:31.218 15389-15897/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab1$AsyncHttpTask.doInBackground(Tab1.java:109)
10-18 09:01:31.228 15389-15898/com.oh_biz.oh_works D/Tab2: Tab2[{"id":"161017031057", "date":"2016/10/17", "indate":"2016/10/12", "model":"SX730C-CT", "model_class":"STB",  "qty":"20","s_team":"IO-Team","s_tel":"","s_name":"한정희","center":"안양","status1":"승인대기","status2":"5","sum_stb":"45"},{"id":"161014081004", "date":"2016/10/14", "indate":"2016/10/13", "model":"SMT-C5010", "model_class":"STB",  "qty":"5","s_team":"IO-Team","s_tel":"","s_name":"이동규","center":"안양","status1":"승인대기","status2":"5","sum_stb":"45"},{"id":"161014051053", "date":"2016/10/14", "indate":"2016/10/12", "model":"SMT-C5010", "model_class":"STB",  "qty":"3","s_team":"IO-Team","s_tel":"","s_name":"이동규","center":"안양","status1":"승인대기","status2":"5","sum_stb":"45"},{"id":"16101323", "date":"2016/10/13", "indate":"2016/10/13", "model":"SMT-C5010", "model_class":"STB",  "qty":"7","s_team":"IO-Team","s_tel":"","s_name":"이동규","center":"안양","status1":"승인대기","status2":"5","sum_stb":"45"},{"id":"161013081043", "date":"2016/10/13", "indate":"2016/10/13", "model":"UC-1000", "model_class":"STB",  "qty":"5","s_team":"IO-Team","s_tel":"","s_name":"이동규","center":"안양","status1":"승인대기","status2":"5","sum_stb":"45"},{"id":"161013101050", "date":"2016/10/13", "indate":"2016/10/13", "model":"UC-1000", "model_class":"STB",  "qty":"5","s_team":"IO-Team","s_tel":"","s_name":"이동규","center":"안양","status1":"승인대기","status2":"5","sum_stb":"45"}]
10-18 09:01:31.228 15389-15898/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab2$AsyncHttpTask.parseResult(Tab2.java:228)
10-18 09:01:31.228 15389-15898/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab2$AsyncHttpTask.doInBackground(Tab2.java:157)
10-18 09:01:31.228 15389-15898/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab2$AsyncHttpTask.doInBackground(Tab2.java:124)
10-18 09:01:31.238 15389-15898/com.oh_biz.oh_works D/Tab3: Tab3[{"id":"161017031050", "date":"2016/10/17", "indate":"2016/10/12", "model":"SMT-C5012", "model_class":"STB",  "qty":"20","s_team":"CR-Team","s_tel":"","s_name":"","center":"안양","status1":"보내는중..","status2":"6","sum_stb":"40"},{"id":"161017031031", "date":"2016/10/17", "indate":"2016/10/12", "model":"SMT-C5012", "model_class":"STB",  "qty":"20","s_team":"IO-Team","s_tel":"","s_name":"","center":"안양","status1":"보내는중..","status2":"6","sum_stb":"40"}]
10-18 09:01:31.238 15389-15898/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab3$AsyncHttpTask.parseResult(Tab3.java:197)
10-18 09:01:31.238 15389-15898/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab3$AsyncHttpTask.doInBackground(Tab3.java:129)
10-18 09:01:31.238 15389-15898/com.oh_biz.oh_works W/System.err:     at com.oh_biz.oh_works.View.Tab3$AsyncHttpTask.doInBackground(Tab3.java:92)

안녕하세요 매번 봐주셔서 감사합니다.. json 값은 잘 받아오는데 계속 리스트뷰에 뿌려질때 처음에 뿌려지지 않는 현상 때문에 질문을 드립니다. 특히 LG폰이나 다른 폰은 잘 받아 오는데 특정 폰 특히 삼성 폰에서 잘 안받와 지구요.. 버전은 5버전 6버전 다 해봤습니다 ㅠㅠ 다른 5버전 6버전은 다 받아 집니다! 또한 여기 이곳에 와이파이를 이용하면 안받아지는 폰은 안되구요 되는폰의 핫스팟이나 LTE를 이용하면 또 잘 받아지네요 .. 혹시 이런 경우를 겪어 보신 계신가요?ㅠㅠ 도움 부탁 드립니다..

@Override
        protected String doInBackground(String... params) {
            result = new StringBuilder();
            urlConnection = null;
            if ((key.equals("1"))) {
                url1 = "http://dbserver.x-y.net/oh-android/json/json_pro_stb1.php?TEAM=" + team;
            } else if ((key.equals("2"))) {
                url1 = "http://dbserver.x-y.net/oh-android/json/json_pro_cm1.php?TEAM=" + team;
            }
            try {
                URL url = new URL(url1);
                urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.connect();
                InputStream in = new BufferedInputStream(urlConnection.getInputStream());
                BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "EUC-KR"));
                String line;
                String result = "";
                while ((line = reader.readLine()) != null) {
                    result += line;
                }
                parseResult(result);
                // Close stream
                if (null != in) {
                    in.close();
                }
                return result;
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                assert urlConnection != null;
                urlConnection.disconnect();
            }
            return result.toString();
        }

        @Override
        protected void onPostExecute(String result) {
            // Download complete. Lets update UI
            asyncDialog.dismiss();
            mListAdapter.setListData(mListData);
            if (key.equals("1")){
                try {
                    stb_total = response.getJSONObject(0).getString("sum_stb");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                Log.d("stb_total","total"+stb_total);
                tv_sum.setText("합계:" + stb_total);
            }
            else if (key.equals("2")){
                try {
                    cm_total = response.getJSONObject(0).getString("sum_cm");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                Log.d("cm_total","total"+cm_total);
                tv_sum.setText("합계:" + cm_total);
            }
            Log.d("Adapter", TAG + mListAdapter);
        }

        private void parseResult(String result) {
            try {
                response = new JSONArray(result);
                Log.d("Tab1","Tab1"+result);
                View_item item;
                model = response.getJSONObject(0).getString("model");
                String temp = model;
                if (temp.equals("")){
                }
                else {
                    for (int i = 0; i < response.length(); i++) {
                       item = new View_item(getActivity(), response.getJSONObject(i));
      mListData.add(item);
                    }
                }

            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 올려주신 로그를 보니 AsyncHttpTask.parseResult() 내부에서 에러가 발생하는데요. 혹시 이것 때문에 발생하는 현상 아닌가요? 에러가 발생하게 되면 onPostExecute()로 온전한 결과가 전달되지 않을 가능성이 있고, 이 때 리스트뷰에 제대로 출력을 할 수 없을 것 같습니다. 우선은 에러가 발생하는 원인을 찾아보고 수정하는게 좋을 것 같습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 핸드폰 마다 제각각으로 에러가 발생해서 조금 문제를 겪었습니다 ㅠㅠ 지금은 onResume 으로 통해 해결은 했는데 저부분은 해결이 안돼네요 ㅠㅠ.. 답변 달아주셔서 항상 감사합니다 로니님~ 즐거운 하루 되세요! 알 수 없는 사용자 2016.10.20 08:42

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)