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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T14:47:10+00:00 2026-06-01T14:47:10+00:00

I got some code of a fellow stackflower and for some reason, it’s crashing

  • 0

I got some code of a fellow stackflower and for some reason, it’s crashing my App, being new to Async, I don’t have a lot of debugging experience. I’m trying to download data from via HttPost and then list the data in a simple listview. Anyway, here’s the code and logcat:

code:

public class ChatService extends ListActivity {
    /** Called when the activity is first created. */

    BufferedReader in = null;
    String data = null;
    List headlines;
    List links;
    String GotPass;
    ArrayAdapter adapter;
    String GotUname;
    public static final String PREFS_NAME ="MyPregs";
    private GetTask getTask;
    public ListView fList;

    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
      getTask = new GetTask(); 
      getTask.execute();

      ArrayAdapter adapter = new ArrayAdapter(this,
              android.R.layout.simple_list_item_1, headlines);
    }

    public class GetTask extends AsyncTask<Void, Void, List> 
    {
      @Override
      protected List doInBackground(Void... params) {
        return load();
      }      

      @Override
      protected void onPostExecute(List result) {


        fList.setAdapter(adapter);
      }
    }

    private List load() { 
      // get your data from http
      // add to your list, probably you can use model.
        BufferedReader in = null;
        String data = null;
        Bundle gotData = getIntent().getExtras();
        if(gotData != null)
        {
            GotPass = gotData.getString("key!");
            GotUname = gotData.getString("key!!");
        }
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        String username = settings.getString("key1", null);
        String password = settings.getString("key2", null);
         if(username.equals("irock97")) {
            Toast.makeText(getApplicationContext(), "yaya", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_SHORT).show();
        }

        HttpClient httpclient = new DefaultHttpClient();

        /* login.php returns true if username and password is equal to saranga */
        HttpPost httppost = new HttpPost("http://gta5news.com/login.php");

        try {
            // Add user name and password
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("username", username));
            nameValuePairs.add(new BasicNameValuePair("password", password));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            // Execute HTTP Post Request
            Log.w("HttpPost", "Execute HTTP Post Request");
            HttpResponse response = httpclient.execute(httppost);
            in = new BufferedReader(new InputStreamReader(response.getEntity()
                    .getContent()));
            StringBuffer sb = new StringBuffer("");
            String l ="";
            String nl ="";
            while ((l =in.readLine()) !=null) {
                sb.append(l + nl);  
            }
            in.close();
             data = sb.toString();

             ListView lv = getListView();
             lv.setTextFilterEnabled(true);

            headlines.add(data);




            ArrayAdapter adapter = new ArrayAdapter(this,
                    android.R.layout.simple_list_item_1, headlines);

            setListAdapter(adapter);


        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return headlines;
    }

    private StringBuilder inputStreamToString1(InputStream is) {
        String line = "";
        StringBuilder total = new StringBuilder();
        // Wrap a BufferedReader around the InputStream
        BufferedReader rd = new BufferedReader(new InputStreamReader(is));
        // Read response until the end
        try {
            while ((line = rd.readLine()) != null) {
                total.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        // Return full string
        return total;
    }




    }

LogCat:

04-10 20:47:18.526: E/AndroidRuntime(574): FATAL EXCEPTION: AsyncTask #1
04-10 20:47:18.526: E/AndroidRuntime(574): java.lang.RuntimeException: An error occured while executing doInBackground()
04-10 20:47:18.526: E/AndroidRuntime(574):  at android.os.AsyncTask$3.done(AsyncTask.java:200)
04-10 20:47:18.526: E/AndroidRuntime(574):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
04-10 20:47:18.526: E/AndroidRuntime(574):  at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
04-10 20:47:18.526: E/AndroidRuntime(574):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
04-10 20:47:18.526: E/AndroidRuntime(574):  at java.util.concurrent.FutureTask.run(FutureTask.java:137)
04-10 20:47:18.526: E/AndroidRuntime(574):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
04-10 20:47:18.526: E/AndroidRuntime(574):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
04-10 20:47:18.526: E/AndroidRuntime(574):  at java.lang.Thread.run(Thread.java:1096)
04-10 20:47:18.526: E/AndroidRuntime(574): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
04-10 20:47:18.526: E/AndroidRuntime(574):  at android.os.Handler.<init>(Handler.java:121)
04-10 20:47:18.526: E/AndroidRuntime(574):  at android.widget.Toast.<init>(Toast.java:68)
04-10 20:47:18.526: E/AndroidRuntime(574):  at android.widget.Toast.makeText(Toast.java:231)
04-10 20:47:18.526: E/AndroidRuntime(574):  at com.gta5news.bananaphone.ChatService.load(ChatService.java:97)
04-10 20:47:18.526: E/AndroidRuntime(574):  at com.gta5news.bananaphone.ChatService.access$0(ChatService.java:82)
04-10 20:47:18.526: E/AndroidRuntime(574):  at com.gta5news.bananaphone.ChatService$GetTask.doInBackground(ChatService.java:71)
04-10 20:47:18.526: E/AndroidRuntime(574):  at com.gta5news.bananaphone.ChatService$GetTask.doInBackground(ChatService.java:1)
04-10 20:47:18.526: E/AndroidRuntime(574):  at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-10 20:47:18.526: E/AndroidRuntime(574):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
  • 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-01T14:47:11+00:00Added an answer on June 1, 2026 at 2:47 pm
    You are calling Toast in load() function which is in DoInBackground. 
    Toast messages touches UI thread which you can't do that.
    
    This line makes it crash.
    Toast.makeText(getApplicationContext(), "yaya", Toast.LENGTH_SHORT).show();
    
    Change you load function signature:
    This is your function:
    private List load() {
    
    don't return a list, create a modal container and return it like:
    private ReturnModel load() {
    
    and create a modal like this, and set and get this modal:
    and in your load function,fill this returnmodal, set passworderror true or false instead of toast message, and onpostexecute function, check password error and do your toast message there.
    
    
    
    
    package com.nesim.test;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    
    import android.app.ListActivity;
    import android.content.SharedPreferences;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.Toast;
    
    public class ChatService extends ListActivity {
      String GotPass;
      String GotUname;
      public static final String PREFS_NAME = "MyPregs";
      private GetTask getTask;
    
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        getTask = new GetTask();
        getTask.execute();
      }
    
      public class GetTask extends AsyncTask<Void, Void, ReturnModel> {
        @Override
        protected ReturnModel doInBackground(Void... params) {
          return load();
        }
    
        @Override
        protected void onPostExecute(ReturnModel result) {
    
          if(result.passworderror == true)
          {
            Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_SHORT).show();
          }
          else
          {
            Toast.makeText(getApplicationContext(), "yaya", Toast.LENGTH_SHORT).show();
    
            ListView lv = getListView();
            lv.setTextFilterEnabled(true);
    
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, result.getheadlines());
            setListAdapter(adapter);
          }
        }
      }
    
      private ReturnModel load() {
        ReturnModel returnModel = new ReturnModel();
    
        BufferedReader in = null;
        String data = null;
        Bundle gotData = getIntent().getExtras();
        if (gotData != null) {
          GotPass = gotData.getString("key!");
          GotUname = gotData.getString("key!!");
        }
    
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        String username = settings.getString("key1", null);
        String password = settings.getString("key2", null);
        // username = "irock97"; // unremark to test like you got username from prefs..
        if (username != null  && username.equals("irock97")) {
          returnModel.setPassworderror(false);
        }
        else 
        {
          returnModel.setPassworderror(true);
          return returnModel;
        }
    
        HttpClient httpclient = new DefaultHttpClient();
    
        /* login.php returns true if username and password is equal to saranga */
        HttpPost httppost = new HttpPost("http://gta5news.com/login.php");
    
        try {
          // Add user name and password
          List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
          nameValuePairs.add(new BasicNameValuePair("username", username));
          nameValuePairs.add(new BasicNameValuePair("password", password));
          httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    
          // Execute HTTP Post Request
          Log.w("HttpPost", "Execute HTTP Post Request");
          HttpResponse response = httpclient.execute(httppost);
          in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
          StringBuffer sb = new StringBuffer("");
          String l = "";
          String nl = "";
          while ((l = in.readLine()) != null) {
            sb.append(l + nl);
          }
          in.close();
          data = sb.toString();
    
    
          List<String> headlines = new ArrayList<String>();
          headlines.add(data);
          returnModel.setheadlines(headlines);
        }
        catch (ClientProtocolException e) {
          e.printStackTrace();
        }
        catch (IOException e) {
          e.printStackTrace();
        }
    
        return returnModel;
      }
    
    
      public class ReturnModel {
        private List<String> headlines;
        private boolean passworderror;
    
        public List<String> getheadlines() {
          return headlines;
        }
    
        public void setheadlines(List<String> headlines) {
          this.headlines = headlines;
        }
    
        public boolean getPassworderror() {
          return passworderror;
        }
    
        public void setPassworderror(boolean passworderror) {
          this.passworderror = passworderror;
        }
      }
    
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Got some code that is not mine and its producing this warning atm: iehtmlwin.cpp(264)
I got some code off the Internet and now I just need help to
I've got some code like this: letters = [('a', 'A'), ('b', 'B')] i =
I've got some code here that works great on IPv4 machines, but on our
I've got some code which I use to loop through the properties of certain
I've got some code that lies in a browser, and wrote C++ plugins for
I've got some code which sets up a datacontext. Often enough, the datacontext should
I've got some code that runs all lovely on SQL Server 2008, however I'm
I've got some code which works fine in IE but unfortunately not in Google
I have started working with a large code base, and a lot of the

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.