An error occured while executing doInBackground () Twitter4J

I am using Twitter4J library and I am trying to do some Async tasks to make some service calls like this.

public class TweetsActivity extends Activity {


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_post_tweet);
    new getFollowers().execute();

}
@SuppressWarnings("unused")
private class getFollowers extends AsyncTask<String,Void,List<String>>
{

    @Override
    protected List<String> doInBackground(String... arg0) {
        List<String> friends = null;
        Twitter t = ((TwitterApplication)getApplication()).getTwitter();
        try {
            IDs names  = t.getFollowersIDs("jd_biggestboss");
            for(int i:names.getIDs())
            {
                friends.add(t.showUser(i).getScreenName());

            }
            return friends;
        } catch (TwitterException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }// TODO Auto-generated method stub
        return null;
    }

    protected void onPostExecute(List<String> result) {
        for(String name:result)
            System.out.println(name);

     }

}

}

      

I am getting an error. This is a stack trace. I have checked to not access the UI elements from my UI thread and so on. So what could be causing the problem? Maybe every call I make to the API should be in a separate Async task? Thanks in advance.

01-27 02:22:58.042: W/dalvikvm(30528): threadid=11: thread exiting with uncaught exception (group=0x40ab0a08)
01-27 02:22:58.052: E/AndroidRuntime(30528): FATAL EXCEPTION: AsyncTask #1
01-27 02:22:58.052: E/AndroidRuntime(30528): java.lang.RuntimeException: An error occured while executing doInBackground()
01-27 02:22:58.052: E/AndroidRuntime(30528):    at android.os.AsyncTask$3.done(AsyncTask.java:278)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at java.lang.Thread.run(Thread.java:864)
01-27 02:22:58.052: E/AndroidRuntime(30528): Caused by: java.lang.NullPointerException
01-27 02:22:58.052: E/AndroidRuntime(30528):    at com.tmm.android.twitter.TweetsActivity$getFollowers.doInBackground(TweetsActivity.java:40)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at com.tmm.android.twitter.TweetsActivity$getFollowers.doInBackground(TweetsActivity.java:1)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
01-27 02:22:58.052: E/AndroidRuntime(30528):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
01-27 02:22:58.052: E/AndroidRuntime(30528):    ... 5 more

      

+3


source to share


1 answer


you will need to initialize friends ArrayList

before adding elements to it inside doInBackground:



List<String> friends = new ArrayList<String>();

      

+1


source







All Articles