在android中的doInBackground()崩溃?

时间:2017-04-28 06:45:49

标签: android

应用程序崩溃,响应来了但是应用程序崩溃并且这样给出... 我的代码使用url查找 https://www.dropbox.com/s/nu7uazz8yp3w3cu/GetCompanyAnalyticRequestTask.java?dl=0

  • 我的电话是这样的

    callAnalyticAPI(mPreferences.getString(PrefrennceList.ADMIN_UID, ""), mPreferences.getString(PrefrennceList.CID, ""), groupJsonArray.toString().trim(), "summary", Constant.GRAPH_SUMMARY_START_DATE, Constant.GRAPH_SUMMARY_END_DATE, mPreferences.getString(PrefrennceList.COMPANY_ACCESS_TOKEN, ""));
    
  • 执行方法是

    try {
            mGetCompanyAnalyticRequestTask.execute(uid, cid, Utility.stringEncode(gids.toString().trim()), reptype, startDate, endDate, companyaccessToken);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    
  • 错误

    java.lang.RuntimeException: An error occurred while executing doInBackground()
                                                                              at android.os.AsyncTask$3.done(AsyncTask.java:318)
                                                                              at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
                                                                              at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
                                                                              at java.util.concurrent.FutureTask.run(FutureTask.java:242)
                                                                              at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
                                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                              at java.lang.Thread.run(Thread.java:761)
                                                                           Caused by: java.lang.ArrayIndexOutOfBoundsException: length=6; index=6
                                                                              at com.sociosquare.socioadvocacy.service.GetCompanyAnalyticRequestTask.doInBackground(GetCompanyAnalyticRequestTask.java:38)
                                                                              at com.sociosquare.socioadvocacy.service.GetCompanyAnalyticRequestTask.doInBackground(GetCompanyAnalyticRequestTask.java:24)
                                                                              at android.os.AsyncTask$2.call(AsyncTask.java:304)
                                                                              at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                              at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
                                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                                                                              at java.lang.Thread.run(Thread.java:761) 
    

2 个答案:

答案 0 :(得分:0)

我认为这条线造成了问题。可能你没有在AsyncTask.execute()中传递enought参数。

return CompanyAnalytic(params[0], params[1], params[2], params[3], params[4], params[5], params[6]);

答案 1 :(得分:0)

尝试以下代码 你在params中发送较少的值。这就是为什么它会发生崩溃。你发送大小为6的数组,所以从你的return语句中删除params [6]。

preg_replace_callback