Note that there are some explanatory texts on larger screens.

plurals
  1. POAdd images to ListView corresponding to its content, obtained from JSON response
    primarykey
    data
    text
    <p>I am using JSON parser to parse JSON Response, where i am able to get item names in ListView but i am not able to get images corresponding to it. where image url's are present in JSON response. How can i parse response to get images corresponding to items. Following is the code, Any one who know how to do this kindly help me it would be very useful.</p> <p>Note: images and items are NOT Fixed</p> <pre><code>public class AndroidJSONParsingActivity extends ListActivity { // url to make request private static String url = "website/?JSON=get_recent_post"; // JSON Node names private static final String TAG_POSTS = "posts"; private static final String TAG_ID = "id"; private static final String TAG_TITLE = "title"; private static final String TAG_DATE = "date"; private static final String TAG_CONTENT = "content"; private static final String TAG_AUTHOR = "author"; private static final String TAG_NAME = "name"; // contacts JSONArray JSONArray posts = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Hashmap for ListView ArrayList&lt;HashMap&lt;String, String&gt;&gt; contactList = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;(); // Creating JSON Parser instance JSONParser jParser = new JSONParser(); // getting JSON string from URL JSONObject json = jParser.getJSONFromUrl(url); try { // Getting Array of Contacts posts = json.getJSONArray(TAG_POSTS); // looping through All Contacts for(int i = 0; i &lt; posts.length(); i++){ JSONObject c = posts.getJSONObject(i); // Storing each json item in variable String id = c.getString(TAG_ID); String title = c.getString(TAG_TITLE); String date = c.getString(TAG_DATE); String content = c.getString(TAG_CONTENT); // Phone number is agin JSON Object JSONObject author = c.getJSONObject(TAG_AUTHOR); String name = author.getString(TAG_NAME); // creating new HashMap HashMap&lt;String, String&gt; map = new HashMap&lt;String, String&gt;(); // adding each child node to HashMap key =&gt; value map.put(TAG_ID, id); map.put(TAG_TITLE, title); map.put( TAG_DATE, date); map.put( TAG_NAME, name); map.put( TAG_CONTENT, content); // adding HashList to ArrayList contactList.add(map); } } catch (JSONException e) { e.printStackTrace(); } /** * Updating parsed JSON data into ListView * */ ListAdapter adapter = new SimpleAdapter(this, contactList, R.layout.list_item, new String[] { TAG_TITLE, TAG_DATE, TAG_NAME, TAG_CONTENT }, new int[] { R.id.name, R.id.email,R.id.mobile, R.id.content }); setListAdapter(adapter); // selecting single ListView item ListView lv = getListView(); // Launching new screen on Selecting Single ListItem lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id) { // getting values from selected ListItem String title = ((TextView) view.findViewById(R.id.name)).getText().toString(); String date = ((TextView) view.findViewById(R.id.email)).getText().toString(); String name = ((TextView) view.findViewById(R.id.mobile)).getText().toString(); String content = ((TextView) view.findViewById(R.id.content)).getText().toString(); // Starting new intent Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class); in.putExtra(TAG_TITLE, title); in.putExtra(TAG_DATE, date); in.putExtra(TAG_NAME, name); in.putExtra(TAG_CONTENT, content); startActivity(in); } }); } </code></pre> <p>}</p> <p>JSONParser.java</p> <p>public class JSONParser {</p> <pre><code>static InputStream is = null; static JSONObject jObj = null; static String json = ""; // constructor public JSONParser() { } public JSONObject getJSONFromUrl(String url) { // Making HTTP request try { // defaultHttpClient DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.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; } </code></pre> <p>}</p> <p>SingleMenuItem.java</p> <pre><code>public class SingleMenuItemActivity extends Activity { // JSON node keys private static final String TAG_TITLE = "title"; private static final String TAG_DATE = "date"; private static final String TAG_NAME = "name"; private static final String TAG_CONTENT = "content"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.single_list_item); // getting intent data Intent in = getIntent(); // Get JSON values from previous intent String title = in.getStringExtra(TAG_TITLE); String date = in.getStringExtra(TAG_DATE); String name = in.getStringExtra(TAG_NAME); String content = in.getStringExtra(TAG_CONTENT); // Displaying all values on the screen TextView lblName = (TextView) findViewById(R.id.name_label); TextView lblCost = (TextView) findViewById(R.id.email_label); TextView lblDesc = (TextView) findViewById(R.id.mobile_label); TextView lblCont = (TextView) findViewById(R.id.content_label); lblName.setText(title); lblCost.setText(date); lblDesc.setText(name); lblCont.setText(content); } </code></pre> <p>}</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload