Search code examples
javaandroidarraysjsonksoap2

how to get each element of this array in java using android stuio


I get the string of array on responseJSON like this

Result: responseJSON = ["Product1","Product2","Product1","Product2"]

try {
        // Invole web service
        androidHttpTransport.call(SOAP_ACTION+methName, envelope);
        // Get the response
        SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
        // Assign it to static variable
        responseJSON = response.toString();

    } catch (Exception e) {
        e.printStackTrace();
    }

how can to get each element of the array so that I can use it to display on my ListView?

Thanks

public void invokeJSONWS(String country, String methName) {
    // Create request
    SoapObject request = new SoapObject(NAMESPACE, methName);
    /*
    // Property which holds input parameters
    PropertyInfo paramPI = new PropertyInfo();
    // Set Name
    paramPI.setName("country");
    // Set Value
    paramPI.setValue(country);
    // Set dataType
    paramPI.setType(String.class);
    // Add the property to request object
    request.addProperty(paramPI);
    */
    // Create envelope
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.dotNet = true;
    // Set output SOAP object
    envelope.setOutputSoapObject(request);
    // Create HTTP call object
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try {
        // Invole web service
        androidHttpTransport.call(SOAP_ACTION+methName, envelope);
        // Get the response
        SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
        // Assign it to static variable
        responseJSON = response.toString();

        JSONArray responseArr = new JSONArray(responseJSON);
        for(int i=0;i < responseArr.length();i++)
        {
            String temp=responseArr.getString(i);
            myProduct.add(new Product(responseJSON,2,R.drawable.user_awake,responseJSON));
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}

this is the method that i used it it correct that i also include the adding an item in the list view??

please help

thanks


Solution

  • pass this string to JSONAarry constructor like this

        ArrayList<String> mParsedList = new ArrayList<String>();
        JSONAarry responseArr=new JSONArray(responseJSON);
        for(int i=0;i<responseArr.length;i++)
        {
           String temp=responseArr.getString(i);// get one by one element 
           myProduct.add(new Product(temp,2,R.drawable.user_awake,responseJSON));
      }