Search This Blog

Thursday, 5 April 2012

How to use jSon to fetch data

Hello friends,
         So here is the code to use jSon and fetch data from remote database....


HttpConnection http=null;
        InputStream _input = null;
        boolean ret = false;
        try{
            StringBuffer _buffer = new StringBuffer();
            String _str = new String();
            String ConnectionParameter="";
            if(WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED){
                ConnectionParameter = ";interface=wifi";
            }else{
                ConnectionParameter=";deviceside=true";
            }
            String desiredEncoding = "ISO-8859-1";
            String url = new String(<URL>);
            http = (HttpConnection)Connector.open(url+ConnectionParameter);
            _input = http.openDataInputStream();
            if(http.getResponseCode()==HttpConnection.HTTP_OK)
            {
                int ch;   
                String contentType = http.getHeaderField("Content-Type");
                if(contentType!=null)
                {
                    contentType=contentType.toUpperCase();
                    if (contentType.indexOf("UTF-8")!=-1)
                    {
                        desiredEncoding="UTF-8";
                    }
                }
                InputStreamReader isr = new InputStreamReader(_input,desiredEncoding);
                while((ch=isr.read())!=-1)
                {
                    _buffer.append((char)ch);
                }
                _str = _buffer.toString();
                try
                {   
                    MyApp.jArray1 = new JSONArray(_str);
                }
                catch(Exception e)
                {
                    Dialog.alert("jarray error");       
                }
                MyApp._channelImagePath = new String[MyApp.jArray1.length()];
                MyApp._countryText1 = new String[MyApp.jArray1.length()];
                MyApp._channelurl = new String[MyApp.jArray1.length()];
                for(int i=0;i<MyApp.jArray1.length();i++)
                {
                    try
                    {
                        MyApp.json_data1 = MyApp.jArray1.getJSONObject(i);
                    }
                    catch(Exception e)
                    {
                        Dialog.alert("jobject");       
                    }
                    try
                    {   
                         //You get data here as follows and save it to an array,make changes as per your requirement its just an example
                        MyApp._countryText1[i] = MyApp.json_data1.getString(<column name>);
                        MyApp._channelImagePath[i]=(MyApp.json_data1.getString(<column name>));
                        MyApp._channelurl[i]=(MyApp.json_data1.getString(<column name>));
                    }
                    catch (Exception ee)
                    {
                    }
                    }
                if(_str.indexOf("SUCCESS")!=-1)
                {
                    ret = true;
                }
            }
            _input.close();
            http.close();
            _input=null;
            http=null;
        }catch(Exception e){
        }finally
        {
            try
            {
                if(_input!=null)
                    _input.close();
                _input = null;
                if(http!=null)
                    http.close();
                http =null;
            }
            catch(Exception e){}
        }

No comments:

Post a Comment