AsyncTask在使用ArrayIndexOutOfBoundsException执行第一行doInBackground之前停止应用程序

时间:2017-10-23 17:27:32

标签: android android-asynctask

在onCreate中,我创建并执行pt:

mkdir build
cd build
cmake .. 

(PostTask扩展AsyncTask)

然而,一旦它到达PostTask :: doInBackground的第一行,app就会停止:

PostTask pt =  new PostTask(this);
pt.execute()

我在这里错过了什么吗?

以下是日志错误:

protected String doInBackground(String... params) {
String url=params[0];

1 个答案:

答案 0 :(得分:0)

由于您的AsyncTask期望网址进入params varargs,因此您需要在执行AsyncTask时提供网址:

String url = "http://www.example.com"
PostTask pt =  new PostTask(this);
pt.execute(url);

然后,url将成为params中的第一个元素,因此您在AsyncTask中已经拥有的代码将起作用:

protected String doInBackground(String... params) {
    String url=params[0];
    //.........