草庐IT

aSyncTask

全部标签

安卓 : Calling the methods on UI thread from AsyncTask doInBackground method

我正在使用AsyncTask将数据上传到UI。我编写了代码以以单独的方法从服务器下载数据,并且我从doinBackground调用该方法。它会给出错误,因为UI方法无法从doInBackground访问。但是,我想访问.是否有任何替代过程可以从doinBackground访问UI方法? 最佳答案 anyalternativeprocessistheretoaccesstheUImethodfromdoinBackground.?在doInBackground()中调用publishProgress()。将UI更新逻辑放在AsyncT

Android AsyncTask 取消时不会停止,为什么?

我在Activity的onPause生命周期事件中关闭了一个AsyncTask,因此当有人离开应用程序时它不会运行,但尽管如此,它仍会继续运行。我添加了一些跟踪,这个fragment显示了问题。Trace.d(TAG,"Taskstate:"+myTask.getStatus());myTask.cancel(true);Trace.d(TAG,"Taskstate:"+myTask.getStatus());输出:Taskstate:RUNNINGTaskstate:RUNNING为什么cancel()方法对任务的状态没有任何影响?我注意到文档说取消方法将“尝试”停止任务,但在什么情

安卓蜂窝 : NetworkOnMainThreadException even when using AsyncTask and no strict mode?

我遇到了NetworkOnMainThreadException使用我的Android3.0应用程序。寻找我找到的解决方案this,但如果我理解正确的话,默认设置是关闭严格模式。另外,我所有的网络访问都在一个AsyncTask中,所以无论如何我都看不到这个异常的意义。所以,我现在很绝望我应该做些什么来防止这种情况......亲切的问候,水母编辑:Thisblogentry说AsyncTask应该够了,但至少澄清了StrictMode点。解决方案:我关闭了StrictMode(保留一些设置可能更好,但我不会被打扰...):StrictMode.ThreadPolicypolicy=new

android - 如何从 AsyncTasks doInBackground() 中检索数据?

我会尽量保持这个简单。我的控制层中有一个方法,它使用扩展AsyncTask的类CallServiceTask。当调用newCallServiceTask().execute(parameters)如何检索doInBackground返回的数据?我发现的所有教程都使用直接从他们的Activity扩展AsyncTask的类。我的问题比这要复杂一点。我想要的只是获取doInBackground返回的Object[]并将其设置为我的RestClient类的私有(private)数据成员。CallServiceTask看起来像这样:privateclassCallServiceTaskexten

android - 即使应用程序被销毁,AsyncTask 也将始终运行?

我有一个应用程序,因为你不能在我使用AsyncTask的主线程上进行网络操作,所以问题是一旦我execute()AsyncTask然后我finish()Activity,也许用户会finish()整个应用程序,所以我是想知道的是:AsyncTask是否会始终完成doInBackground()和onPostExecute(),即使应用程序已关闭,只要execute()在应用运行时被调用? 最佳答案 您将能够对此进行测试。是的,确实如此。如果调用了执行,您可以看到Asynctask仍将执行,除非它对前台或UI相关的操作。(可能会导致启

java - 如何处理来自 AsyncTask 的返回值

我正在使用具有以下签名的AsyncTask类:publicclassApiAccessextendsAsyncTask,Integer,String>{...privateStringPOST(List[]nameValuePairs){...returnresponse;}}protectedStringdoInBackground(List...nameValuePairs){returnPOST(params);}我正在尝试通过以下方式从其他类调用它:ApiAccessapiObj=newApiAccess(0,"/User");//StringsignupResponse=ap

android - 调用 AsyncTask.get() 时未显示 ProgressDialog

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:AsyncTaskblockUIthreatandshowprogressbarwithdelay我想在从任何服务器检索JSON时显示一个progressDialog。所以我使用AsyncTask作为解决方案(不确定有什么不同的出路)。一切都很好,ProgressDialog可以正常工作,直到我使用AsyncTask实例调用.get()方法。我想它以某种方式阻止了用户界面。这是我的AsyncTask:publicclassmyAsyncextendsAsyncTask{Stringmessage;//ford

android - 如何调试 AsyncTask 的 doInBackground 代码

我设置了断点,但它们似乎被忽略(或从未见过)。我的代码如下。我正在尝试将sql数据库备份到SD卡。当我在Eclipse中运行它(不是Debug模式)时,我从onPreExecute收到消息,然后很快收到来自onPostExecute的消息。我在ExportDatabaseFileTask的几乎每一行都设置了断点。当我在Eclipse中运行它(在Debug模式下)时,我在onPreExecute的断点处停止,然后当我更进一步时,调试器的下一行是:mDbHelper.open();然后,我将逐步执行其余的正常代码,并留下显示来自onPreExecute的消息的AVD,它显然会永远存在。我没

Android Asynctask 传递单个字符串

我想将单个字符串传递给异步任务。谁能告诉我它是怎么做的?我的getEntity需要方法getEntity(Activity,String,EntityGetListener)但我一直在传递这个String[]Stringpass=story.get(position).getEntity();newRemoteDataTask().execute(pass);privateclassRemoteDataTaskextendsAsyncTask{@OverrideprotectedLongdoInBackground(String...params){//TODOAuto-generat

Android Asynctask vs Runnable vs timertask vs Service

这些方法(类)有什么区别?我想运行一个每5秒运行一次的应用程序,完成后清除内存并且当cpu处于待机模式时,您可以运行该应用程序。这样应用就不会绑定(bind)到唤醒锁。问候,沙夫卡特 最佳答案 前三个之间的区别只是为您完成的工作量。还有一个Service是fundamentalAndroidapplicationcomponent.AsyncTask作为一个便利类,用于在新线程上做一些工作,并在完成后在调用它的线程(通常是UI线程)上使用结果。它只是一个包装器,它使用了几个可运行对象,但处理了创建线程和处理线程之间的消息传递的所有复