草庐IT

asynctasks

全部标签

android - runOnUiThread 未在 AsyncTask 中运行

我正在编写一个程序,它从服务器(使用JSON)从MySql获取数据,并相应地更新UI,我正在使用AsyncTask从服务器获取两种类型的数据1)BubbleAnswers2)CommentsparseBubbleAnswers方法成功运行并更新了UI,但是parseComments类是AsyncTask,它在doInBackground中调用parseComments方法,没有运行runOnUiThread(newRunnable(){run()});谁能帮我解决这个问题这是我的代码:publicclassFetchServerextendsActivity{protectedvoid

android - 如何在 Asynctask 类中使用 intent?

请分享如何在Asynctask类的doinbackground()或onpostexecute()方法中使用intent。当我尝试使用这些代码时,它显示错误。Intentintent=newIntent(asynctask.this,home.class);startActivity(intent);finish();privateClassclazz;publicasynctask(Classclazz){this.clazz=clazz;}异步任务doInBackground()方法:protectedVoiddoInBackground(Void...arg0){//TODOAu

android - 当用户按下后退按钮时取消 AsyncTask

我有一个AsyncTask,其中我在onPreExecute中显示ProgressDialog,并在onPostExecute中再次隐藏它,类似finalclassUploadTaskextendsAsyncTask{ProgressDialogdialog=newProgressDialog(...);protectedonPreExecute(){dialog.show();}protectedonPostExecute(){dialog.hide();}};对话框是可取消的,当我在执行AsyncTask期间按下取消按钮时,对话框确实消失了。发生这种情况时,我也想运行一些代码来取消

android - AsyncTask 阻塞 UI 线程并延迟显示进度条

我的AsyncTask在下载图像和进度对话框时延迟显示阻止按钮元素-它在显示图像之前显示了一段时间,但下载需要很长时间并且按钮被阻止(橙色)并且不显示对话框。publicBitmapdownload(Stringurl,ProgressBarprogressbar)throwsInterruptedException,ExecutionException{BitmapDownloaderTasktask=newBitmapDownloaderTask(progressbar);task.execute(url);returntask.get();}classBitmapDownload

安卓 : can AsyncTask return in another thread than UI thread?

Android文档说AsyncTaskpostExecute()在UI线程上被调用。我的印象是postExecute()是从调用execute()的线程调用的:我一直在后台服务中使用AsyncTask和它自己的线程,并且postExecute()在服务线程中调用,而不是在主线程中调用。但是,我最近遇到了一个问题,即postExecute()根本没有被调用,同时抛出了一个异常:“在死线程上向处理程序发送消息”。具体情况如何:-只能从主线程使用AsyncTask吗?-如果不是,应该在哪个线程中调用postExecute():始终是UI线程,还是execute()调用线程?谢谢

android - AsyncTask<String, Void, String> 通用类型。安卓

我已经在几个项目中使用这个AsyncTask,但仍然不太明白的作用意思是。这些是否意味着未实现方法的参数类型?有什么命令吗(String、Void、String分别对应什么方法)? 最佳答案 来自AndroidDocsAsyncTask页:android.os.AsyncTask异步任务使用的三种类型如下:Params,thetypeoftheparameterssenttothetaskuponexecution.Progress,thetypeoftheprogressunitspublishedduringthebackgro

android - 如何提升AsyncTask的优先级?

有没有办法提高AsyncTask的优先级?我正在AsyncTask中进行一些图像处理。在非常慢的设备上,处理图像最多需要60秒。现在我想通过提高任务的优先级来提高性能。能以某种方式完成吗? 最佳答案 尝试使用以下(增加优先级AsyncTask线程):protectedfinalMyResultdoInBackground(MyInput...myInput){Process.setThreadPriority(THREAD_PRIORITY_BACKGROUND+THREAD_PRIORITY_MORE_FAVORABLE);//b

安卓 : how to execute AsyncTask?

我必须在我的应用程序中加载XML数据,我在扩展AsyncTask的Activity类的子类中这样做:publicclassMyActivityextendsActivity{ArrayListlistOffres;privateclassDownloadXMLextendsAsyncTask{protectedVoiddoInBackground(Void...params){listOffres=ContainerData.getFeeds();returnnull;}}publicvoidonCreate(BundlesavedInstanceState){super.onCrea

android - AsyncTask<String, Void, Void> 是如何工作的?

谁能告诉我这里出了什么问题?publicclassBackgroungTaskextendsAsyncTask{publicVoiddoInBackground(String...params){//tasksreturn;//erroroccurshere!}publicvoidonPostExecute(Voidresult){//codes}}上面的类不依赖于返回值。所以onPostExceute()只是执行写在里面的代码。提前致谢! 最佳答案 只返回null。publicclassBackgroungTaskextendsA

使用 AsyncTask 和 UI 更新解决方案的 Android 单元测试

场景:我正在尝试对我的应用程序的onClick处理程序进行单元测试。Onclick针对RESTAPI进行简单搜索,返回结果并更新UI。详细信息:Onclick执行一个AsyncTask,doInBackground查询RESTAPI并返回结果。onPostExecute获取结果并将新的ListAdapter分配给包含数据的ListView。问题:onPostExecute不会被测试运行程序调用,因为它在同一个UI线程上并阻止调用。有几种模式可以处理这个问题。但是,如果我将AsyncTask放在Runnable中并使用LatchCountdown等待结果,我会得到CalledFromWr