Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8042943
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 5, 20262026-06-05T04:45:04+00:00 2026-06-05T04:45:04+00:00

I am trying to send data to Gsoap server using JSON object using android

  • 0

I am trying to send data to Gsoap server using JSON object using android 4.0.3. I was run into a NetworkOnMainThread Exception with my android app. Then I have used network access is in an AsyncTask, so I don’t see the point in this Exception anyway. But now I am getting Nullpointer Exception. I have posted code with error logcat.
I have already google dint get proper solution. So please anyone say me where I am going wrong. I am trying first time with JSON to send data…. I can send data to server without using JSON.. but need to send with JSON..

it crashing at this line doInBack = (DownloadWebPageTask) doInBack.execute(new String[] { “192.168.1.40” });

Here is my code..
MainAcitivty i.e AndroidJSONParsingActivity

 public class AndroidJSONParsingActivity extends ListActivity {

// url to make request
// private static String url = "http://192.168.1.40";

// JSON Node names
private static final String TAG_CONTACTS = "contacts";
private static final String TAG_ID = "id";
private static final String TAG_NAME = "name";
private static final String TAG_EMAIL = "email";
private static final String TAG_ADDRESS = "address";
private static final String TAG_GENDER = "gender";
private static final String TAG_PHONE = "phone";
private static final String TAG_PHONE_MOBILE = "mobile";
private static final String TAG_PHONE_HOME = "home";
private static final String TAG_PHONE_OFFICE = "office";

// contacts JSONArray
JSONArray contacts = null;

private AsyncTask<String, Void, String> doInBack;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Hashmap for ListView
    ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();

    // Creating JSON Parser instance
    JSONParser jParser = new JSONParser();

    doInBack = (DownloadWebPageTask) doInBack
            .execute(new String[] { "http://192.168.1.40" });
    // getting JSON string from URL
    JSONObject json = jParser.getJSONFromUrl(doInBack);

    try {
        // Getting Array of Contacts
        contacts = json.getJSONArray(TAG_CONTACTS);

        // looping through All Contacts
        for (int i = 0; i < contacts.length(); i++) {
            JSONObject c = contacts.getJSONObject(i);

            // Storing each json item in variable
            String id = c.getString(TAG_ID);
            String name = c.getString(TAG_NAME);
            String email = c.getString(TAG_EMAIL);
            String address = c.getString(TAG_ADDRESS);
            String gender = c.getString(TAG_GENDER);

            // Phone number is agin JSON Object
            JSONObject phone = c.getJSONObject(TAG_PHONE);
            String mobile = phone.getString(TAG_PHONE_MOBILE);
            String home = phone.getString(TAG_PHONE_HOME);
            String office = phone.getString(TAG_PHONE_OFFICE);

            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();

            // adding each child node to HashMap key => value
            map.put(TAG_ID, id);
            map.put(TAG_NAME, name);
            map.put(TAG_EMAIL, email);
            map.put(TAG_PHONE_MOBILE, mobile);

            // adding HashList to ArrayList
            contactList.add(map);
        }
    } catch (JSONException e) {
        e.printStackTrace();
        System.out.println("JsonException--- " + e.getMessage());
    }

    /**
     * Updating parsed JSON data into ListView
     * */
    ListAdapter adapter = new SimpleAdapter(this, contactList,
            R.layout.list_item, new String[] { TAG_NAME, TAG_EMAIL,
                    TAG_PHONE_MOBILE }, new int[] { R.id.name, R.id.email,
                    R.id.mobile });

    setListAdapter(adapter);

    // selecting single ListView item
    ListView lv = getListView();

    // Launching new screen on Selecting Single ListItem
    lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // getting values from selected ListItem
            String name = ((TextView) view.findViewById(R.id.name))
                    .getText().toString();
            String cost = ((TextView) view.findViewById(R.id.email))
                    .getText().toString();
            String description = ((TextView) view.findViewById(R.id.mobile))
                    .getText().toString();

            // Starting new intent
            Intent in = new Intent(getApplicationContext(),
                    SingleMenuItemActivity.class);
            in.putExtra(TAG_NAME, name);
            in.putExtra(TAG_EMAIL, cost);
            in.putExtra(TAG_PHONE_MOBILE, description);
            startActivity(in);

        }
    });

}

private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... urls) {
        String response = "";
        for (String url : urls) {
            DefaultHttpClient client = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(url);
            try {
                HttpResponse execute = client.execute(httppost);
                InputStream content = execute.getEntity().getContent();

                BufferedReader buffer = new BufferedReader(
                        new InputStreamReader(content));
                String s = "";
                while ((s = buffer.readLine()) != null) {
                    response += s;
                }

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

    @Override
    protected void onPostExecute(String result) {

    }
}

}

JsonParser.java class

public class JSONParser {

static InputStream is = null;
static JSONObject jObj = null;
static String json = "";

// constructor
public JSONParser() {

}

public JSONObject getJSONFromUrl(String url) {

    // Making HTTP request
    try {
        // defaultHttpClient
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        json = sb.toString();
    } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }

    // try parse the string to a JSON object
    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }

    // return JSON String
    return jObj;

}

public JSONObject getJSONFromUrl(AsyncTask<String, Void, String> doInBack) {
    // TODO Auto-generated method stub
    return null;
}
}

SingleMenuItemActivity.java class

public class SingleMenuItemActivity  extends Activity {

// JSON node keys
private static final String TAG_NAME = "name";
private static final String TAG_EMAIL = "email";
private static final String TAG_PHONE_MOBILE = "mobile";
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.single_list_item);

    // getting intent data
    Intent in = getIntent();

    // Get JSON values from previous intent
    String name = in.getStringExtra(TAG_NAME);
    String cost = in.getStringExtra(TAG_EMAIL);
    String description = in.getStringExtra(TAG_PHONE_MOBILE);

    // Displaying all values on the screen
    TextView lblName = (TextView) findViewById(R.id.name_label);
    TextView lblCost = (TextView) findViewById(R.id.email_label);
    TextView lblDesc = (TextView) findViewById(R.id.mobile_label);

    lblName.setText(name);
    lblCost.setText(cost);
    lblDesc.setText(description);
}
}

my logcat error report

 06-08 17:46:55.459: E/AndroidRuntime(2542): java.lang.RuntimeException: Unable to start activity           ComponentInfo{com.androidhive.jsonparsing/com.androidhive.jsonparsing.AndroidJSONParsingAct ivity}: java.lang.NullPointerException
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.app.ActivityThread.access$600(ActivityThread.java:123)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.os.Handler.dispatchMessage(Handler.java:99)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.os.Looper.loop(Looper.java:137)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.app.ActivityThread.main(ActivityThread.java:4424)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at java.lang.reflect.Method.invokeNative(Native Method)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at java.lang.reflect.Method.invoke(Method.java:511)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at dalvik.system.NativeStart.main(Native Method)
 06-08 17:46:55.459: E/AndroidRuntime(2542): Caused by: java.lang.NullPointerException
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at com.androidhive.jsonparsing.AndroidJSONParsingActivity.onCreate(AndroidJSONParsingActivity.java:62)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.app.Activity.performCreate(Activity.java:4465)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
 06-08 17:46:55.459: E/AndroidRuntime(2542):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)

Many Thanks..

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-05T04:45:05+00:00Added an answer on June 5, 2026 at 4:45 am

    Check if JsonObject “c” really includes those fields. Probably you will get the NullPointerException in one of the lines below.

        // Storing each json item in variable
            String id = c.getString(TAG_ID);
            String name = c.getString(TAG_NAME);
            String email = c.getString(TAG_EMAIL);
            String address = c.getString(TAG_ADDRESS);
            String gender = c.getString(TAG_GENDER);
    
            // Phone number is agin JSON Object
            JSONObject phone = c.getJSONObject(TAG_PHONE);
            String mobile = phone.getString(TAG_PHONE_MOBILE);
            String home = phone.getString(TAG_PHONE_HOME);
            String office = phone.getString(TAG_PHONE_OFFICE);
    

    you can check if jsonobject has a mapping for a specific name by following code

    if(jsonObject.has(TAG_NAME)) {
        String name = c.getString(TAG_NAME);
    }
    

    or you can check if json has a mapping for a name but its value is null

    if(!jsonObject.isNull(TAG_NAME)) {
        String name = c.getString(TAG_NAME);
    }
    

    furthermore, you can get an empty string if there is no mapping or there is null value for name

    if(jsonObject.optString(TAG_NAME)) {
        String name = c.getString(TAG_NAME);
    }
    

    EDIT:
    You dont create your asyncTask object. Create it before calling its execute method.

    doInBack = new DownloadWebPageTask();
    doInBack.execute(...)
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am trying to send multiple data from server to client using TCP. I
I am trying to send data from an Android app to a PHP file
I am trying to exchange data between client and server using gSOAP. Actually, I
I am trying to send data to my server using HttpPost via the following
I'm trying to send data from my Android app to my PC over TCP.
I am trying to send data from android to Django app. I want to
I am trying to send data, in json format to my webservice, using POST.
I am trying to send data to a web server using a post, this
I am trying to send data from PHP Client to Python Server. CLIENT <?php
i am trying to send multiple data using j query $.ajax method to my

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.