2017-11-30 10 views
0

DB에서 가져온 데이터를 표시하려면 RecyclerView을 사용하고 있습니다. 작동하지 않습니다.전자/발리 : [33049] BasicNetwork.performRequest : 예기치 않은 응답 코드 404

[ 
{ 
"code":"23232", 
"desc":"ddddjdkdkcn", 
"price":[ 
"price" 
] 
}, 
{ 
"code":"de33fd", 
"desc":"ddds", 
"price":[ 
"price" 
] 
} 
] 
public class Background { 
    String url = "http://192.168.0.103/android_fetch.php"; 
    Context context; 
    ArrayList<Data> arrayList = new ArrayList<>(); 

    public Background(Context context) { 
     this.context = context; 
    } 
    public ArrayList<Data> getList() { 
     JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, (String) null, 
       new Response.Listener<JSONArray>() { 
        @Override 
        public void onResponse(JSONArray response) { 
         int count = 0; 
         while (count < response.length()) { 
          try { 
           JSONObject jsonObject = response.getJSONObject(count); 
           Data data = new Data(jsonObject.getString("code"), jsonObject.getString("desc"), jsonObject.getString("price")); 
           arrayList.add(data); 
           count++; 
          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 
         } 
        } 
       }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       Toast.makeText(context, "Error", Toast.LENGTH_SHORT).show(); 
       error.printStackTrace(); 
      } 
     }); 
     MySingleton.getInstance(context).addToRequestque(jsonArrayRequest); 
     return arrayList; 
    } 
} 
- [33,049] BasicNetwork.performRequest : 404

응답 이하 파싱 할 필요 예기치 응답 코드

에러 E/발리 얻기

+0

Hosting on server의 참조를 위해이 링크로 이동하세요? ? 게시 하시겠습니까? 우편 배달부에서 일하는지 아닌지 확인하십시오. –

+0

[ { "코드": "23,232" "DESC": "ddddjdkdkcn" "가격"[ "가격" ] } { "코드": "de33fd" " desc ":"ddds ", "가격 ": [ "가격 " ] } ] 응답입니다. 그것의 우편 배달부에 대한 작업 –

답변

0

먼저 우편 배달부에서 귀하의 요청을 확인하십시오. 백엔드 php 쪽에서 약간의 오류가 있습니다. 그 후 파싱 방법도 잘못되었습니다.

나는이 줄에 실수가 있다고 생각합니다.

Data data = new Data(jsonObject.getString("code"), jsonObject.getString("desc"), jsonObject.getString("price")); 

여기 당신은 jsonObject 모든를 얻으려고하지만 마지막 priceJSONArray입니다.

이 방법을 시도해보십시오.

@Override 
public void onResponse(JSONArray jsonresponse) { 
    try { 
     Log.i("get response", "get response" + jsonresponse); 
     for (int i = 0; i < jsonresponse.length(); i++) { 

      JSONObject response = jsonresponse.getJSONObject(i); 

      String code = response.getString("code"); 
      String desc = response.getString("desc"); 

      if (response.getJSONArray("price") != null && response.getJSONArray("price").length() > 0) { 
       JSONArray priceArray = response.getJSONArray("price"); 
       final int numberOfItemsInResp = priceArray.length(); 
       for (int j = 0; j < numberOfItemsInResp; j++) { 
        String price = priceArray.getString(j); 
       } 
      } 

     } 
    } catch (Exception e) { 
     Common.ProgressDialogDismiss(); 
     e.printStackTrace(); 
    }  
} 
0

로컬 서버 또는 로컬 호스트에 서버를 만듭니다. 그게 왜 우편 배달부에서 일했는지, 그러나 당신이 안드로이드 장치에서 일하려고 할 때 그것이 오류를주는 이유입니다.

오류 E/발리를 얻기 : [33049] BasicNetwork.performRequest : 예기치 않은 응답 코드 (404)

이 URL에서 점점 어떤 응답