28/02/2014

Android Simple JsonListView

JsonMainActivity.Java

package com.example.json;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
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.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;

public class JsonMainActivity extends Activity
{
    public static String url="http://products.p41techdev.net/muthushomedelivery/category.php";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_json_main);
        setContentView(R.id.listView1);
        parser ss = new parser();
        ss.execute(url);
    }

    public class parser extends AsyncTask<String,String, String>
    {

        @Override
        protected String doInBackground(String... params)
        {
            // TODO Auto-generated method stub
            String uu = params[0];
            InputStream is;
            String page = null;
            HttpClient ht = new DefaultHttpClient();
            HttpPost hp = new HttpPost(uu);
      
            try
            {
                HttpResponse res = ht.execute(hp);
                HttpEntity en = res.getEntity();
                is = en.getContent();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                StringBuilder sb = new StringBuilder("");
                String line;
                while((line = reader.readLine())!= null)
                {
                    sb.append(line);
                  
                }
             page = sb.toString();
              
             System.out.println("value"+page.toString());
              
            }
            catch (ClientProtocolException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }          
            return page;
          
        }

        @Override
        protected void onPostExecute(String result)
        {                  
            super.onPostExecute(result);
            ArrayList<ItemDTO> obj = new ArrayList<ItemDTO>();
            try {
                JSONArray jars = new JSONArray(result);
                for(int i=0;i<jars.length();i++)
                {
                    JSONObject jso =  jars.getJSONObject(i);
                    ItemDTO nn = new ItemDTO();
                    nn.setId(jso.getString("id"));
                    nn.setCategory(jso.getString("category"));
                    obj.add(nn);          
                  
                }
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }  
  }
}


package com.example.json;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
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.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;

public class JsonMainActivity extends Activity
{
    public static String url="http://products.p41techdev.net/muthushomedelivery/category.php";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_json_main);
        setContentView(R.id.listView1);
        parser ss = new parser();
        ss.execute(url);
    }

    public class parser extends AsyncTask<String,String, String>
    {

        @Override
        protected String doInBackground(String... params)
        {
            // TODO Auto-generated method stub
            String uu = params[0];
            InputStream is;
            String page = null;
            HttpClient ht = new DefaultHttpClient();
            HttpPost hp = new HttpPost(uu);
       
            try
            {
                HttpResponse res = ht.execute(hp);
                HttpEntity en = res.getEntity();
                is = en.getContent();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                StringBuilder sb = new StringBuilder("");
                String line;
                while((line = reader.readLine())!= null)
                {
                    sb.append(line);
                   
                }
             page = sb.toString();
               
             System.out.println("value"+page.toString());
               
            }
            catch (ClientProtocolException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }           
            return page;
           
        }

        @Override
        protected void onPostExecute(String result)
        {                   
            super.onPostExecute(result);
            ArrayList<ItemDTO> obj = new ArrayList<ItemDTO>();
            try {
                JSONArray jars = new JSONArray(result);
                for(int i=0;i<jars.length();i++)
                {
                    JSONObject jso =  jars.getJSONObject(i);
                    ItemDTO nn = new ItemDTO();
                    nn.setId(jso.getString("id"));
                    nn.setCategory(jso.getString("category"));
                    obj.add(nn);           
                   
                }
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }   
  }
}

package com.example.json;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
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.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;

public class JsonMainActivity extends Activity
{
    public static String url="http://products.p41techdev.net/muthushomedelivery/category.php";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_json_main);
        setContentView(R.id.listView1);
        parser ss = new parser();
        ss.execute(url);
    }

    public class parser extends AsyncTask<String,String, String>
    {

        @Override
        protected String doInBackground(String... params)
        {
            // TODO Auto-generated method stub
            String uu = params[0];
            InputStream is;
            String page = null;
            HttpClient ht = new DefaultHttpClient();
            HttpPost hp = new HttpPost(uu);
       
            try
            {
                HttpResponse res = ht.execute(hp);
                HttpEntity en = res.getEntity();
                is = en.getContent();
                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                StringBuilder sb = new StringBuilder("");
                String line;
                while((line = reader.readLine())!= null)
                {
                    sb.append(line);
                   
                }
             page = sb.toString();
               
             System.out.println("value"+page.toString());
               
            }
            catch (ClientProtocolException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }           
            return page;
           
        }

        @Override
        protected void onPostExecute(String result)
        {                   
            super.onPostExecute(result);
            ArrayList<ItemDTO> obj = new ArrayList<ItemDTO>();
            try {
                JSONArray jars = new JSONArray(result);
                for(int i=0;i<jars.length();i++)
                {
                    JSONObject jso =  jars.getJSONObject(i);
                    ItemDTO nn = new ItemDTO();
                    nn.setId(jso.getString("id"));
                    nn.setCategory(jso.getString("category"));
                    obj.add(nn);           
                   
                }
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }   
  }
}



AdapterClass.Java
package com.example.json;



import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class Adapterclass extends BaseAdapter {
ArrayList<ItemDTO> opj = new ArrayList<ItemDTO>();
LayoutInflater inflater;
Context context;

public Adapterclass(Context c, ArrayList<ItemDTO> obj) {
this.opj = obj;
this.context = c;
inflater = LayoutInflater.from(c);

}


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


public Object getItem(int position) {
// TODO Auto-generated method stub
return opj.get(position);
}


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


public View getView(int position, View convertview, ViewGroup parent) {
Holder ho = new Holder();

if (convertview == null) {
    convertview = inflater.inflate(R.layout.newlist, null);
    ho.txt1 = (TextView) convertview.findViewById(R.id.textView1);
    ho.txt2 = (TextView) convertview.findViewById(R.id.textView2);
    convertview.setTag(ho);

} else {
    ho = (Holder) convertview.getTag();

}
ho.txt1.setText(opj.get(position).getId());
ho.txt2.setText(opj.get(position).getCategory());

return convertview;
}

public class Holder {
TextView txt1, txt2;

}

}
ItemDTO.Java
package com.example.json;

public class ItemDTO {
String id,category;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getCategory() {
    return category;
}

public void setCategory(String category) {
    this.category = category;
}

}
activity_json_main.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" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="19dp" >
    </ListView>

</RelativeLayout>

newlist.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="horizontal" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>