android-asynctask - asynctask #2 执行 doinbackground() 时发生错误

标签 android-asynctask

事件:

类 updateTwitterStatus 扩展 AsyncTask {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(Retos.this);
        pDialog.setMessage("Updating to twitter...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();
    }

    protected String doInBackground(String... args) {
        Log.d("Tweet Text", "> " + args[0]);
        String status = args[0];
        try {
            ConfigurationBuilder builder = new ConfigurationBuilder();
            builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY);
            builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET);

            String access_token = mSharedPreferences.getString(PREF_KEY_OAUTH_TOKEN, "");

            String access_token_secret = mSharedPreferences.getString(PREF_KEY_OAUTH_SECRET, "");

            AccessToken accessToken = new AccessToken(access_token, access_token_secret);
            Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken);

            twitter4j.Status response = twitter.updateStatus(status);

            Log.d("Status", "> " + response.getText());
        } catch (TwitterException e) {

            Log.d("Twitter Update Error", e.getMessage());
        }
        return null;
    }

    protected void onPostExecute(String file_url) {

        pDialog.dismiss();          
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getApplicationContext(),
                        "Status tweeted successfully", Toast.LENGTH_SHORT).show();                  
                txtUpdate.setText("");
            }
        });
    }

}

这是 LogCat

06-05 18:00:26.696:E/AndroidRuntime(1516):致命异常:AsyncTask #2 06-05 18:00:26.696: E/AndroidRuntime(1516): java.lang.RuntimeException: 执行 doInBackground() 时出错 06-05 18:00:26.696: E/AndroidRuntime(1516): 在 android.os.AsyncTask$3.done(AsyncTask.java:299) 06-05 18:00:26.696: E/AndroidRuntime (1516): 在 java.util.concurrent.FutureTask$Sync.innerSetException (FutureTask.java:273) 06-05 18:00:26.696: E/AndroidRuntime (1516): 在 java.util.concurrent.FutureTask.setException (FutureTask.java:124) 06-05 18:00:26.696: E/AndroidRuntime (1516): 在 java.util.concurrent.FutureTask$Sync.innerRun (FutureTask.java:307) 06-05 18:00:26.696: E/AndroidRuntime (1516): 在 java.util.concurrent.FutureTask.run (FutureTask.java:137) 06-05 18:00:26.696: E/AndroidRuntime(1516): 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 06-05 18:00:26.696: E/AndroidRuntime(1516): 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 06-05 18:00:26.696: E/AndroidRuntime(1516): 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 06-05 18:00:26.696: E/AndroidRuntime(1516): 在 java.lang.Thread.run(Thread.java:856) 06-05 18:00:26.696: E/AndroidRuntime(1516): 由 java.lang.NullPointerException 引起 06-05 18:00:26.696: E/AndroidRuntime(1516): 在 com.example.prueba.Retos$updateTwitterStatus.doInBackground(Retos.java:145) 06-05 18:00:26.696: E/AndroidRuntime(1516): 在 com.example.prueba.Retos$updateTwitterStatus.doInBackground(Retos.java:1) 06-05 18:00:26.696: E/AndroidRuntime(1516): 在 android.os.AsyncTask$2.call(AsyncTask.java:287) 06-05 18:00:26.696: E/AndroidRuntime (1516): 在 java.util.concurrent.FutureTask$Sync.innerRun (FutureTask.java:305) 06-05 18:00:26.696: E/AndroidRuntime(1516): ... 5 更多

最佳答案

在第 145 行附近的 Retos.java 中寻找空点可能性:

com.example.prueba.Retos$updateTwitterStatus.doInBackground(Retos.java:145)

关于android-asynctask - asynctask #2 执行 doinbackground() 时发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24067576/

相关文章:

java - Android 在 AsyncTask 上发送自定义参数

android - HTTPPost 失败时取消 AsyncTask?

java - 我如何知道我在 Resume 上启动的任务正在运行?

java - 如何在处理不同类的异步任务类中使用 databasehelper 类

java - 带有 ResponseListener 的 AsyncTask

android - 从通知栏返回下载 Activity

android - 当应用程序在后台时如何更改 Activity

android - 在 AsyncTask 中的 Honeycomb 上下载大文件(> 100mb)会减慢 UI,可能是因为 GC?

java - Java AsyncTask 的使用

Android cloudinary 异步 uploader 错误