how to display fetched json data into listview using baseadapter

前端 未结 7 819
不知归路
不知归路 2020-11-29 07:22

I am new to android and java.Recently I am having problem with displaying fetched json data into listview using baseadapter. At first I have used this code

          


        
7条回答
  •  醉梦人生
    2020-11-29 07:39

    Json parser:

    public class jparser {
    
    static InputStream istream = null;
    static JSONObject jObj = null;
    //static JSONArray jarray=null;
    static String json = "";
    //static JSONArray jarray = null;
    
    // constructor
    public jparser() {
    }
    
    public JSONObject getJFromUrl(String url) {
        // Making HTTP request
        //try {
            // defaultHttpClient
             StringBuilder builder = new StringBuilder();
    
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            /*HttpResponse httpResponse = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpResponse.getEntity();
            istream = httpEntity.getContent();*/
            try{
            HttpResponse response = httpClient.execute(httpPost);
    
            StatusLine statusLine = response.getStatusLine();
    
            int statusCode = statusLine.getStatusCode();
    
             if (statusCode == 400) 
             {
               HttpEntity entity = response.getEntity();
    
               InputStream content = entity.getContent();
    
               BufferedReader reader = new BufferedReader(new InputStreamReader(content));
    
               String line;
    
               while ((line = reader.readLine()) != null) 
               {
                 builder.append(line);
               }
             } 
             else
             {
                 Log.e("==>", "Failed to download file");
             }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(istream, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            istream.close();
            json = sb.toString();
        } catch (Exception e) {
            Log.e("Buffer Error", "Error converting result " + e.toString());
        }
        // try parse the string to a JSON object
        try {
            jObj = new JSONObject(json);
        } catch (JSONException e) {
            Log.e("JSON Parser", "Error parsing data " + e.toString());
        }
        // return JSON String
        return jObj;
    
       // Parse String to JSON object
    
         /*try {
                jarray = new JSONArray( builder.toString());
            } catch (JSONException e) {
                Log.e("JSON Parser", "Error parsing data " + e.toString());
            }
    
            // return JSON Object
            return jarray;
    
        }*/
        }
    
    }
    

提交回复
热议问题