公共(public)类HttpHelper扩展AsyncTask>{ArrayListlist=newArrayList();@OverrideprotectedArrayListdoInBackground(String...urls){//TODOAuto-generatedmethodstubStringresult="";for(Stringurl:urls){HttpClientclient=newDefaultHttpClient();HttpGetrequest=newHttpGet(url);try{HttpResponseresponse=client.execute
我正在尝试重现Android的AsyncTask在Java纯代码中遵循的相同逻辑。为此,我创建了实现我的IAsynTask的抽象类AsyncTask,它主要调用onPreExecute、doInBackground和onPostExecute,我还创建了execute方法,这是神奇的地方。因此,为了在我的登录过程中使用它,例如,我创建了扩展AsyncTask的LoginTask类,但与我想象的不同,onPreExecute、doInBackground和onPostExecute的实现看起来并不是强制性的。我做错了什么?界面:publicinterfaceIAsyncTask{publ
当我调用我的AsyncTask时,doInBackground会运行,但之后永远不会调用onPostExecute。Eclipse没有提示@Override或AsyncTask中的任何参数,所以我不确定问题出在哪里。谁能告诉我问题出在哪里?调用异步任务:newAsyncDataFetcher(this).execute(productInfoUrls);productInfoUrls是一个url列表。异步任务:privatestaticclassAsyncDataFetcherextendsAsyncTask,Void,List>{Contextcontext;publicAsyncD
处理我的AsyncTask我想知道为什么我应该使用onPostExecute()的参数,而我只能在我的中使用类级实例变量AsyncTask类在doInBackground()和onPostExecute()之间共享数据。这两种方法都有效,但是每种方法有优缺点吗?编辑:当我说“实例变量”时,我指的是AsyncTask扩展类中的私有(private)实例变量。当类消亡时,实例变量也会消亡。 最佳答案 嗯,它可能会降低内存泄漏的可能性,因为您没有在类级别持有对对象的引用,而只有那些AsyncTask方法。正如@nico_ekito提到的,
我有一个Activity(RecipiesActivity),通过单击我的应用程序主Activity的“下一步”按钮打开。在RecipiesActivityonCreate中,我想在AsyncTask中调用Web服务。目前,由于我还没有实现webservice,所以我只是调用bitly提供的webservice(但这与我的问题无关)。问题是虽然调用了webservice并且没有抛出异常,但是从doInBackground返回了一个结果,但是我的onPostExecute没有被调用。我做了一些研究,发现了以下可能的原因-但似乎都不是我的情况:onPostExecute参数与AsyncTa
我的Asynctask的doInBackground方法会抛出一个错误。可能吗?我怎样才能使onPostExecute捕获异常? 最佳答案 你不能跨线程抛出异常。但是,您可以在doInBackground()中捕获异常,将其存储在某处,例如asynctask中的成员变量,然后在onPostExecute()中处理它。 关于android-在doInBackground中抛出异常并在onPostExecute中捕获,我们在StackOverflow上找到一个类似的问题:
在我的android应用程序中,我使用AsyncTask从互联网下载图像。我传递了url,我的AsyncTask进行了下载。但是我如何将位图返回到我的Activity中。目前我将回调函数传递给我的asynctask构造函数,并在OnPostExecute中调用回调函数。这是正确的做法吗? 最佳答案 你可以这样做:publicBitmapbtm;publicvoidonClick(Viewv){newDownloadImageTask().execute("http://example.com/image.png");}private
场景:我正在尝试对我的应用程序的onClick处理程序进行单元测试。Onclick针对RESTAPI进行简单搜索,返回结果并更新UI。详细信息:Onclick执行一个AsyncTask,doInBackground查询RESTAPI并返回结果。onPostExecute获取结果并将新的ListAdapter分配给包含数据的ListView。问题:onPostExecute不会被测试运行程序调用,因为它在同一个UI线程上并阻止调用。有几种模式可以处理这个问题。但是,如果我将AsyncTask放在Runnable中并使用LatchCountdown等待结果,我会得到CalledFromWr
我试图创建一个AsyncTask以从服务器端获取一些数据。但它在行“IOUtils.copy((response_.getEntity().getContent()),writer);”中的onPostExecute()中报告了空指针异常。我使用一些日志来查看发生了什么,发现打印了日志1和3,但没有打印日志2。为什么onPostExecute在client.executed()完成之前执行?谁能给些建议?privateclassGetFormextendsAsyncTask{privateHttpResponseresponse_;privateExceptionexception_;
我正在尝试从AsyncTask中获取结果以显示在我的搜索Activity中。我有一个来自以前应用程序的示例,它是在一位同事的帮助下制作的(我是那里的实习生)。我根据这个应用程序的需要调整了示例,但现在我得到了NullPointerException:03-0403:50:23.865:E/AndroidRuntime(8224):FATALEXCEPTION:main03-0403:50:23.865:E/AndroidRuntime(8224):Process:com.cyberdog.what2watch,PID:822403-0403:50:23.865:E/AndroidRun