title: Populating JSON from this link to android Listview
body: <h2>I am trying to display the elements in listview from the JSON::</h2>
  
  <p><strong>JsonURL</strong>- <code>https://dl.dropboxusercontent.com/s/rhk01nqlyj5gixl/jsonparsing.txt?token_hash=AAHpfauVxJaC9Rkx_5abNtJnPFG04os7TZky1AhOuC5jEw</code></p>
  
  <hr>
  
  <p><strong>activity_main.xml</strong></p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" &gt;
  
      &lt;ListView
          android:id="@+id/listViewID"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent" 
          android:layout_gravity="center"&gt;
      &lt;/ListView&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <hr>
  
  <p><strong>JSONParser.java</strong></p>
  
  <pre><code>package com.example.testjson;
  
  import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  import java.io.UnsupportedEncodingException;
  
  import org.apache.http.HttpEntity;
  import org.apache.http.HttpResponse;
  import org.apache.http.client.ClientProtocolException;
  import org.apache.http.client.methods.HttpPost;
  import org.apache.http.impl.client.DefaultHttpClient;
  import org.json.JSONArray;
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import android.util.Log;
  
  public class JSONParser {
  
      static InputStream is = null;
      static JSONArray jObj = null;
      static String json = "";
  
      // constructor
      public JSONParser() {
  
      }
  
      public JSONArray 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 JSONArray(json);
          } catch (JSONException e) {
              Log.e("JSON Parser", "Error parsing data " + e.toString());
          }
  
          // return JSON String
          return jObj;
  
      }
  }
  </code></pre>
  
  <hr>
  
  <p><strong>row.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/relativelay"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical" &gt;
  
      &lt;TextView
          android:id="@+id/tvname"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentTop="true"
          android:layout_marginLeft="5dip"
          android:maxLines="1"
          android:text="Name"
          android:textColor="@android:color/black"
          android:textSize="14dp"
          android:textStyle="bold" &gt;
      &lt;/TextView&gt;
  
      &lt;TextView
          android:id="@+id/tvcity"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/tvname"
          android:layout_marginLeft="5dip"
          android:layout_marginTop="3dip"
          android:maxLines="1"
          android:text="City"
          android:textColor="@android:color/black"
          android:textSize="14dp" &gt;
      &lt;/TextView&gt;
  
      &lt;TextView
          android:id="@+id/tvbdate"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_below="@+id/tvcity"
          android:layout_marginLeft="5dip"
          android:layout_marginTop="3dip"
          android:maxLines="1"
          android:text="Birthdate"
          android:textColor="@android:color/black"
          android:textSize="14dp" &gt;
      &lt;/TextView&gt;
  
      &lt;TextView
          android:id="@+id/tvgender"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentRight="true"
          android:layout_alignParentTop="true"
          android:layout_marginRight="15dip"
          android:maxLines="1"
          android:text="Gender"
          android:textColor="@android:color/black"
          android:textSize="14dp"
          android:textStyle="bold" &gt;
      &lt;/TextView&gt;
  
      &lt;TextView
          android:id="@+id/tvage"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentRight="true"
          android:layout_below="@+id/tvgender"
          android:layout_marginRight="15dip"
          android:layout_marginTop="3dip"
          android:maxLines="1"
          android:text="Age"
          android:textColor="@android:color/black"
          android:textSize="14dp" &gt;
      &lt;/TextView&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <hr>
  
  <p><strong>MainActivity.java</strong></p>
  
  <pre><code>package com.example.testjson;
  
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.List;
  
  import org.json.JSONArray;
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import android.os.Bundle;
  import android.app.Activity;
  import android.text.StaticLayout;
  import android.view.Menu;
  
  public class MainActivity extends Activity {
  
      private static String url="https://www.dropbox.com/s/rhk01nqlyj5gixl/jsonparsing.txt?dl=1";
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          //Create a JSON parser Instance ----- Used JSON parser from Android
          JSONParser jParser=new JSONParser();
  
          //Getting JSON string from URL ------ Used JSON Array from Android
          JSONArray json=jParser.getJSONFromUrl(url);
  
          try {
              for(int i=0;i&lt;json.length();i++)
              {
                  JSONObject c=json.getJSONObject(i);// Used JSON Object from Android
  
                  //Storing each Json in a string variable
                  int AGE=c.getInt("age");
                  String NAME=c.getString("name");
                  String CITY=c.getString("city");
                  String GENDER=c.getString("Gender");
                  String BIRTHDATE=c.getString("birthdate");
  
  
  
              }
          } catch (JSONException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
  
      }
  
  
  }
  </code></pre>
  
  <ul>
  <li>I am trying to populate the data from the JSON to listView, some
  ambiguity on filling <code>MainActivity.java</code></li>
  <li>what collection to use for this functionality ?</li>
  <li>Any ideas, This looks a simple task but for a beginner like me its
  giving a lot of fight to learn</li>
  </ul>
  
  <p><strong>Thanks ,</strong> </p>