草庐IT

aSyncTask

全部标签

android - 为并行小型已知卡住过程创建匿名 AsyncTask 是一种好习惯吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion例如:您会做一些需要几秒钟的事情并且不想卡住您的UI线程,对吗?您可以使用AsyncTask,但您不想创建外部(或内部)类来解决小卡住问题。那么,这样做是个好习惯吗?packagecom.example.stackoverflowsandbox;importandroid.os.AsyncTask;publicclassFoo{//E.g.beforecallfoomethodyoucha

android - 将 AsyncTask 转换为 RxAndroid

我有以下方法使用otto和AsyncTask向UI发布响应。privatestaticvoidonGetLatestStoryCollectionSuccess(finalStoryCollectionstoryCollection,finalBusbus){newAsyncTask(){@OverrideprotectedVoiddoInBackground(Void...params){bus.post(newLatestStoryCollectionResponse(storyCollection));returnnull;}}.execute();}我需要帮助才能使用RxAnd

android - 如何从 ASyncTask 调用父 Activity 函数?

setAccountAuthenticatorResult可以从扩展AccountAuthenticatorActivity的Activity中调用。我的Activity扩展了它,但启动了ASyncTask,因此应该从ASyncTask调用这个setAccountAuthenticatorResult(或者,应该将ASyncTask的结果传递回主线程)。怎么做?下面的代码有什么问题?AsyncTasktask=newRetrieveAccessTokenTask(this,consumer,provider,prefs).execute(uri);publicclassRetrieve

android - 运行 AsyncTask 时处理屏幕方向更改

我已经被这个问题困扰了一段时间。当我有一个单独的Thread/AsyncTask运行时,如何正确处理屏幕方向的变化?目前,我有android:configChanges="orientation|keyboard|keyboardHidden"在我的AndroidManifest.xml中,但那是notreallyencouraged:Note:Usingthisattributeshouldbeavoidedandusedonlyasalast-resort.PleasereadHandlingRuntimeChangesformoreinformationabouthowtopro

android - 检查所有 AsyncTask 是否已完成

我有3个AsyncTasks和1个ProgressBar。我希望当任何任务执行时,进度条是可见的,当所有任务完成时,进度条是不可见的。在Java中,有ExecutorService::isTerminated来检查所有可运行对象是否已完成但Android没有。更新:3个任务同时执行。图。 最佳答案 漂亮的图形。但恐怕没有内置机制。你必须自己实现它。您可以使用的解决方案很少-保留对所有3个任务的引用。当任务完成时检查其他两个任务是否也完成,如果是则关闭进度对话框,如果没有则等待其他任务完成并再次检查。确保在完成后释放引用。如果您不想在

android - 从 IntentService 或 AsyncTask 调用 REST API?

想象一个典型的场景,一个Activity打开,需要调用一个RESTHTTPAPI来获取一些内容,并且一旦收到更新UI。显然API调用需要在单独的线程上进行,但应该使用AsyncTask、IntentService还是其他方法来完成,为什么? 最佳答案 我会推荐IntentService和ResultReceiver的组合,如thispost中所述。还可以查看实现此模型的Googleiosched。2010版本展示了如何使用onRetainNonConfigurationInstance、getLastNonConfiguration

android - 如何在 Android 中进行后台工作时使用 AsyncTask 显示 ProgressDialog?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:UpdatingprogressdialoginActivityfromAsyncTask我正在开发我的第一个Android应用程序,我需要在后台任务(在本例中只是服务器上的http调用)发生时显示ProgressDialog。我对此进行了一些研究,并且已经检查了与该主题相关的其他线程。http://developer.android.com/reference/android/os/AsyncTask.htmlAndroidshowProgressDialoguntilactivityUIfinishedlo

android - 我可以将不同类型的参数传递给 Android 中的 AsyncTask 吗?

我想实现一个通用的线程保存类,它采用ImageView的RessourceId和存储所需图像文件的Url(http)。它将下载图像并填充UiThread中ImageView的src。我以为AsyncTask对我来说是最好的。但是我注意到我只能将一种类型的参数传递给doInBackground()方法。就像一个URL数组。真的吗?你会建议我什么? 最佳答案 您可以将参数作为对象传递newMyTask().execute(url,str,context);publicclassMyTaskextendsAsyncTask{@Overri

Android - AsyncTask 未执行

我知道这个标题已经有很多问题,但我仍然没有找到适合我的案例的解决方案。我有以下代码从在线数据库中获取用户数据。如标题所述,问题是AsyncTask没有启动。这是我的代码:protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);getData();//retrieves"friends"datafromdatabaseFloatingActionButtonbtn3=(FloatingActionButton)findViewById(R.id.button_add_new_fr

android - 运行并行 AsyncTask

我的应用程序中有一个SplashActivity,它在我启动应用程序时使用AsyncTask执行一些操作。我还创建了另一个从服务器下载数据的AsyncTask。现在,在我关闭应用程序后,AsyncTask仍在下载数据。但是当我再次启动我的应用程序时,我的SplashActivity的AsyncTask不会执行其后台(doInBackground函数),直到我的下载器AsyncTask完成,并且我的应用程序被挂起。所以我的问题是我们不能并行运行两个AsyncTask吗?两个AsyncTask都是不同的并且做自己的事情。有什么办法吗。 最佳答案