ListView with JSON

                                                                                 JSON Tutorial with listview activitymain.xml <Rela...

                         
                                                       JSON Tutorial with listview

activitymain.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true" >

    </ListView>

    <LinearLayout
        android:id="@+id/lv1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="14dp"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tv0"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:textSize="13sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv1"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:textSize="13sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv2"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:textSize="13sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv3"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:textSize="13sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv4"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:textSize="13sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv5"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:textSize="13sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv6"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:textSize="13sp"
            android:textStyle="bold" />
    </LinearLayout>


</RelativeLayout>

display.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    

        <TextView
            android:id="@+id/tv0"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
            android:textSize="20sp"
            android:text="text"
            android:textStyle="bold"
            />
        <TextView
            android:id="@+id/tv1"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
                android:text="text"
            android:textSize="20sp"
            android:textStyle="bold"
            />
        
        <TextView
            android:id="@+id/tv2"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
                android:text="text"
            android:textColor="#43bd00"
            android:textSize="20sp"
            android:textStyle="bold"
             />
        <TextView
            android:id="@+id/tv3"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
            android:textColor="#43bd00"
                android:text="text"
            android:textSize="20sp"
            android:textStyle="bold"
        />
        
        <TextView
            android:id="@+id/tv4"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
                android:text="text"
            android:textColor="#43bd00"
            android:textSize="16sp"
            android:textStyle="bold"
            />
        <TextView
            android:id="@+id/tv5"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
                android:text="text"
            android:textColor="#43bd00"
            android:textSize="16sp"
            android:textStyle="bold"
          />

        <TextView
            android:id="@+id/tv6"
            android:layout_width="320dp"
            android:layout_height="wrap_content"
            android:paddingBottom="2dip"
            android:paddingTop="6dip"
                android:text="text"
            android:textColor="#43bd00"
            android:textSize="16sp"
            android:textStyle="bold" />

</LinearLayout>

JSONParser.java


import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

public class JSONParser {
static String response = null;
    public final static int GET = 1;
    public final static int POST = 2;
    public JSONParser() {
    }
    /**
     * Making service call
     * @url - url to make request
     * @method - http request method
     * */
    public String makeServiceCall(String url, int method) {
        return this.makeServiceCall(url, method, null);
    }
    /**
     * Making service call
     * @url - url to make request
     * @method - http request method
     * @params - http request params
     * */
    public String makeServiceCall(String url, int method,
            List<NameValuePair> params) {
        try {
            // http client
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpEntity httpEntity = null;
            HttpResponse httpResponse = null;
             
            // Checking http request method type
            if (method == POST) {
                HttpPost httpPost = new HttpPost(url);
                // adding post params
                if (params != null) {
                    httpPost.setEntity(new UrlEncodedFormEntity(params));
                }
                httpResponse = httpClient.execute(httpPost);
            } else if (method == GET) {
                // appending params to url
                if (params != null) {
                    String paramString = URLEncodedUtils
                            .format(params, "utf-8");
                    url += "?" + paramString;
                }
                HttpGet httpGet = new HttpGet(url);
                httpResponse = httpClient.execute(httpGet);
            }
            httpEntity = httpResponse.getEntity();
            response = EntityUtils.toString(httpEntity);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
         
        return response;
    }
}


MainActivity.java

import java.util.ArrayList;
import java.util.HashMap;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {
private static final String TAG_EQID= "eqid";
private static final String TAG_MAGNITUDE = "magnitude";
private static final String TAG_LNG = "lng";
private static final String TAG_SRC = "src";
private static final String TAG_DATETIME= "datetime";
private static final String TAG_DEPTH = "depth";
private static final String TAG_LAT = "lat";

ListView list;
ProgressDialog pdialog;
public String url = "http://api.geonames.org/earthquakesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&username=demo";
static ArrayList<HashMap<String, String>> webdata = new ArrayList<HashMap<String, String>>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

list = (ListView) findViewById(R.id.list);
list.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Intent in = new Intent(getApplicationContext(), Selected.class);
in.putExtra("position", position);
startActivity(in);
}
});
new GetData().execute();
}

private class GetData extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pdialog = new ProgressDialog(MainActivity.this);
pdialog.setMessage("Please Wait...");
pdialog.setCancelable(false);
pdialog.show();
}

@Override
protected Void doInBackground(Void... arg0) {
// TODO Auto-generated method stub
JSONParser jp = new JSONParser();
String jsonStr = jp.makeServiceCall(url, JSONParser.GET);
Log.d("Response: ", "> " + jsonStr);
if (jsonStr != null) {
try {
JSONObject jobj = new JSONObject(jsonStr);
JSONArray jarray = jobj.getJSONArray("earthquakes");

for (int i = 0; i < jarray.length(); i++) {
JSONObject jobjin = jarray.getJSONObject(i);

String eqid = jobjin.getString(TAG_EQID);
String magnitude = jobjin.getString(TAG_MAGNITUDE);
String lng = jobjin.getString(TAG_LNG);
String src = jobjin.getString(TAG_SRC);
String datetime = jobjin.getString(TAG_DATETIME);
String depth = jobjin.getString(TAG_DEPTH);
String lat = jobjin.getString(TAG_LAT);

HashMap<String, String> adding = new HashMap<String, String>();
adding.put(TAG_EQID, eqid);
adding.put(TAG_MAGNITUDE, magnitude);
adding.put(TAG_LNG, lng);
adding.put(TAG_SRC, src);
adding.put(TAG_DATETIME, datetime);
adding.put(TAG_DEPTH, depth);
adding.put(TAG_LAT, lat);

webdata.add(adding);
}
} catch (JSONException e) {
e.printStackTrace();
// TODO: handle exception
}
} else {
Log.e("ServiceHandler", "Couldn't get any data from the url");

}
return null;
}

@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if (pdialog.isShowing()) {
pdialog.dismiss();
}

Filllist();
}

}

public void Filllist() {
// TODO Auto-generated method stub
Cus adapter = new Cus();
list.setAdapter(adapter);
}

private class Cus extends BaseAdapter {

@Override
public int getCount() {
// TODO Auto-generated method stub
return webdata.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
String s1, s2, s3, s4, s5, s6,s7;
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView= inflater.inflate(R.layout.display, null);
}
TextView tv0 = (TextView) convertView.findViewById(R.id.tv0);
TextView tv1 = (TextView) convertView.findViewById(R.id.tv1);
TextView tv2 = (TextView) convertView.findViewById(R.id.tv2);
TextView tv3 = (TextView) convertView.findViewById(R.id.tv3);
TextView tv4 = (TextView) convertView.findViewById(R.id.tv4);
TextView tv5 = (TextView) convertView.findViewById(R.id.tv5);
TextView tv6 = (TextView) convertView.findViewById(R.id.tv6);

s1 = webdata.get(position).get(TAG_EQID).toString();
s2 = webdata.get(position).get(TAG_MAGNITUDE).toString();
s3 = webdata.get(position).get(TAG_LNG).toString();
s4 = webdata.get(position).get(TAG_SRC).toString();
s5 = webdata.get(position).get(TAG_DATETIME).toString();
s6 = webdata.get(position).get(TAG_DEPTH).toString();
s7 = webdata.get(position).get(TAG_LAT).toString();
tv0.setText("eqid : " + s1);
tv1.setText("magnitude : " + s2);
tv2.setText("lng : " + s3);
tv3.setText("src : " + s4);
tv4.setText("datetime : " + s5);
tv5.setText("depth : " + s6);
tv6.setText("lat" + s7);

return convertView;
}

}
}

Selected.java

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class Selected extends Activity {
String s1, s2, s3, s4, s5, s6, s7;
TextView eqid, magnitude, lng, src, datetime, depth, lat;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Intent i = getIntent();
Integer pot = i.getIntExtra("position", 0);

s1 = MainActivity.webdata.get(pot).get("eqid").toString();
s2 = MainActivity.webdata.get(pot).get("magnitude").toString();
s3 = MainActivity.webdata.get(pot).get("lng").toString();
s4 = MainActivity.webdata.get(pot).get("src").toString();
s5 = MainActivity.webdata.get(pot).get("datetime").toString();
s6 = MainActivity.webdata.get(pot).get("depth").toString();
s7 = MainActivity.webdata.get(pot).get("lat").toString();

eqid.setText("Email : " + s1);
magnitude.setText("Address : " + s2);
lng.setText("Gender : " + s3);
src.setText("Mobile : " + s4);
datetime.setText("Home : " + s5);
depth.setText("Office : " + s6);
lat.setText("Office : " + s7);

}

}


Download Code

COMMENTS

Name

Alert Android Chat Expandable Expandable Listview Expandable Listview with Json Facebook GCM JSON Login Notification PDF SDK 4.0
false
ltr
item
Android Knowledge: ListView with JSON
ListView with JSON
Android Knowledge
http://androidknowledgeblog.blogspot.com/2015/10/listview-with-json.html
http://androidknowledgeblog.blogspot.com/
http://androidknowledgeblog.blogspot.com/
http://androidknowledgeblog.blogspot.com/2015/10/listview-with-json.html
true
2625512956379495182
UTF-8
Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy