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 8011219
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T18:57:54+00:00 2026-06-04T18:57:54+00:00

As I am a beginner to Android programming, I was trying to run some

  • 0

As I am a beginner to Android programming, I was trying to run some tutorials, but upon running the programs( the source code is available here: http://www.androidhive.info/2012/01/android-json-parsing-tutorial/ ) I got an error.

The program is supposed to read in data from a website and process it, but I think there is something wrong with the networking part.
I am fully aware there have been similar questions here on SO, yet I had no clue how to solve it, perhaps anyone could give solutions which I also can understand.

Strange NetworkOnMainThreadException in Android app?
This is a questions which was asked earlier and is identical to my problem, but I had no clue what they are trying to say there, i.e. “To fix you just need to move any thing that is touching the network to its own thread.” makes no sense to me whatsoever..
Can anyone please shed some light on this?

  • 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-04T18:57:55+00:00Added an answer on June 4, 2026 at 6:57 pm

    Use an AsyncTask to move your network operation off of the main/ui thread and onto a background/worker thread.

    Expanding on the example from the tutorial, wrap the JSON stuff inside of an anonymous AsyncTask:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        new AsyncTask<Void, Void, JSONObject>() {
    
            protected JSONObject doInBackground(Void... args) {
                // Creating JSON Parser instance
                JSONParser jParser = new JSONParser();
    
                // getting JSON string from URL
                return jParser.getJSONFromUrl(url);
            }
    
            protected void onPostExecute(JSONObject json) {
                // Hashmap for ListView
                ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
    
                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();
                }
    
                /**
                 * 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);
                    }
                });
            }
        }.execute((Void) null);
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm a beginner android developer , I was trying to run this Linear Layout
I am a beginner to Android but I seem to be running across a
I'm a beginner in Android. Here I have this code: public class GPS extends
I am a beginner to android programming. So I am sorry if some of
I'm a beginner in Android development but not in programming itself. Anyway, this question
I'm a beginner android programmer who is trying to set up some USB functionality
I'm an absolute beginner at Android programming, so please bear with me :) For
I am a beginner programming android. I am searching for info how to create
I am a beginner when it comes to programming with Android/Java, and I am
I am a beginner in Android programming. I want to build a simple application

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.