Monday, 13 June 2016

json parsing

package com.tdi.rk;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.androidquery.AQuery;
import com.androidquery.callback.AjaxCallback;
import com.androidquery.callback.AjaxStatus;
import com.orangegangsters.github.swipyrefreshlayout.library.SwipyRefreshLayout;
import com.orangegangsters.github.swipyrefreshlayout.library.SwipyRefreshLayoutDirection;

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

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Product extends AppCompatActivity implements AdapterView.OnItemClickListener {

    AQuery aQuery;
    ProgressDialog pd;
    String userid, user_name, u_id;
    JSONObject jsonObject;
    List<RowItem> rowItems;
    ArrayList<RowItem> row_Items = new ArrayList<RowItem>();
    ArrayList<String> arrayList = new ArrayList<>();
    ProductCustomAdapter adapter;
    ListView listView;
    int limit=0;
    String productName, price, image;
    String p_name, p_code, p_DistRate, p_brandID;
    int start=0,end=10;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_product);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        rowItems = new ArrayList<RowItem>();
        aQuery = new AQuery(this);
        pd = new ProgressDialog(this);
        pd.setMessage("loading data");
        listView = (ListView) findViewById(R.id.lv_product);
        listView.setOnItemClickListener(this);

        listView.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {


                if ((listView.getLastVisiblePosition() >= (listView.getCount()-1)) && scrollState==SCROLL_STATE_IDLE) {
                    start = start + 10;
                    loadingdata();
                }
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

            }
        });
      loadingdata();

    }
    private void loadingdata()
    {

        Map<String,Object> map = new HashMap<>();
        String url = "http://www.rajkotkitchenware.com/rkapp/Pricelist.php?start="+start+"&end="+end+"&key=5a14ec5b310164f2dfe49e86b06124a";
        Log.d("url",url);
       // String url = "http://programmingly.com/bvn/rk/Pricelist.php?limit=5&key=5a14ec5b310164f2dfe49e86b06124a";
        aQuery.progress(pd).ajax(url, JSONObject.class, new AjaxCallback<JSONObject>() {

            @Override
            public void callback(String url, JSONObject object, AjaxStatus status) {

                if (object != null) {
                    String quotos = object.optString("vehicle_data");
                    String msg = object.optString("msg");
                    try {
                        JSONArray jsonArray = new JSONArray(quotos);

                        for (int i = 0; i < jsonArray.length(); i++) {
                            jsonObject = jsonArray.getJSONObject(i);
                            u_id = jsonObject.getString("brandID");
                            String str = jsonObject.getString("name");
                            String bitmap = (jsonObject.getString("image"));


                        //add items in array list
                            arrayList.add(u_id);
                            arrayList.add(str);
                            arrayList.add(bitmap);
                            int barandid = Integer.parseInt(u_id);

                            //getter settr
                            RowItem rowItem = new RowItem(str,u_id,bitmap);
                            rowItems.add(rowItem);

                        }
                        int pos=listView.getLastVisiblePosition();
                        ProductCustomAdapter adapter = new ProductCustomAdapter(getApplicationContext(), rowItems);
                        adapter.notifyDataSetChanged();
                        listView.setAdapter(adapter);
                        listView.setSelection(pos);
                    } catch (JSONException e) {
                    }
                }
                else {
                    Toast.makeText(getApplicationContext(),"Data is not available",Toast.LENGTH_LONG).show();
                }
            }
        });
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        startActivity(new Intent(Product.this,MainActivity.class));
        return super.onOptionsItemSelected(item);
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, final long id) {

        Object ide = (listView.getItemAtPosition(position));
        TextView textView = (TextView) view.findViewById(R.id.tv_product_detail);
        final String s = textView.getText().toString();

        Intent data_header = new Intent(getApplicationContext(), SinglePriceList.class);
        data_header.putExtra("id",s);
        startActivity(data_header);

       // Toast.makeText(getApplicationContext(), s, Toast.LENGTH_LONG).show();
    }
}

No comments:

Post a Comment