草庐IT

aSyncTask

全部标签

android - 按下后退按钮时 AsyncTask 终止任务

我在使用AsyncTask时遇到了一些问题。我是这样实现的privateclassMakeConnectionextendsAsyncTaskimplementsOnDismissListener{Contextcontext;ProgressDialogmyDialog;publicMakeConnection(Contextconetext){this.context=conetext;myDialog=newProgressDialog(this.context);myDialog.setCancelable(true);myDialog.setOnDismissListener

android - 如何在 android 中停止(杀死)AsyncTask

嗨,我是android新手:我在GridView中显示图像缩略图。为了获得更好的性能,我异步加载它。我的AsyncTask是这样的:classBitmapWorkerTaskextendsAsyncTask{privatefinalWeakReferenceimageViewReference;privateintdata=0;privateStringimage_path;publicBitmapWorkerTask(ImageViewimageView){imageViewReference=newWeakReference(imageView);}@Overrideprotect

Android AsyncTask doInBackground 行为在 Android7 中发生了变化

我的应用程序有一个带有AsyncTask的Fragment,它从数据库中获取记录并使用ListView显示它们。几年来一直运行良好,但现在在Android7上它停止了,没有显示任何记录。但是,在离开应用程序(例如进入Android设置)然后返回时,会显示记录。调试发现一开始执行了onPreExecute,doInBackground直到离开应用的那一刻才执行。谁能提出Android7中的哪些变化可以解释这一点?//1.====FragmentcontainingAsyncTask====publicclassAuditFragmentextendsListFragmentimpleme

android - 如何在一定时间后取消 Android AsyncTask? (例如 10 秒)

我想使用AsyncTask来检查InetAddress,如下面的代码所示。变量tempInet是一个全局变量,指示该网站是否可联系。我用代码开始AsyncTask...newInetAsyncTask().execute("www.facebook.com");我的问题是我希望AsyncTask在(比如)10秒后自行取消。其他一些问题建议使用get(10,TimeUnit.SECONDS)方法。我想这样做但不确定在哪里/如何放置get方法。与执行?在doInBackground方法中?还有,get()方法会阻塞主线程吗?如果是,它的意义何在?感谢任何帮助。classInetAsyncT

Android 如何在 onDestroy() 后重新连接到 AsyncTask 并重新启动 onCreate()?

我已经测试了AsyncTasks没有随着它们的启动Activity而被销毁的声明。这是真实的。我让AsyncTask每3秒发布一条Log.i()消息,持续1分钟。我将Log.i()消息放入Activity的onDestroy()方法中。我看到Activity已被销毁,但AsyncTask继续运行,直到它完成所有20个Log.i()消息。我很困惑。如果AsyncTask将publishProgress()放入被破坏的UI中会怎样?我猜会发生某种异常,对吧?如果AsyncTask将数据存储在classApplication的全局变量中怎么办?不知道这里,NullPointer异常?如果应用

Android:如何从状态栏通知创建的 PendingIntent 访问 AsyncTask?

我的应用程序启动一个AsyncTask从URL下载文件。同时,它创建了一个状态栏Notification,告诉用户下载完成的百分比。我试图让我的应用程序响应点击通知。如果下载仍在进行中,我想显示一个DialogInterface,询问他们是否要停止下载。单击是应停止下载。我遇到的问题是我不确定如何从我为通知设置的PendingIntent访问我的异步任务。我可以很容易地显示DialogInterface,但我不确定如何显示正在停止下载的Activity。我尝试制作一个Helper类,它可以访问通知以及引用可下载文件的File对象,但我收到一条错误消息,指出该对象不可序列化(它确实实现了

java - 如何在 Java 纯代码中从 Android 复制 AsyncTask

我正在尝试重现Android的AsyncTask在Java纯代码中遵循的相同逻辑。为此,我创建了实现我的IAsynTask的抽象类AsyncTask,它主要调用onPreExecute、doInBackground和onPostExecute,我还创建了execute方法,这是神奇的地方。因此,为了在我的登录过程中使用它,例如,我创建了扩展AsyncTask的LoginTask类,但与我想象的不同,onPreExecute、doInBackground和onPostExecute的实现看起来并不是强制性的。我做错了什么?界面:publicinterfaceIAsyncTask{publ

java - AsyncTask 调用 Progress Dialog.dismiss 方法时出错

我使用AsyncTask从服务器获取数据,为我的listview构建适配器。但是,如果我在AsyncTask中使用ProgressDialog,则会出现错误。代码:文件AsyncTaskSetAdapterListViewDetail.javapublicclassAsyncTaskSetAdapterListViewDetailextendsAsyncTask>>{privatefinalStringquery;privatefinalContextctx;privatefinalProgressDialogLoading;publicfinalHashMapData;private

android - 如何在 Android 的 getView() 函数中取消从隐藏项执行的 AsyncTask?

我有一个问题:在ArrayAdapter的getView()函数中,我使用AsyncTask执行将图像加载到ImageView。但是当此项不可见时(滚动ListView),AsyncTask函数仍在加载图像。如果项目不可见,我想禁用AsyncTask进程。有解决此问题的方法吗? 最佳答案 这将涉及两个步骤。1)意识到项目View已经滚出屏幕(或者由于其他原因将不再使用)。您可以设置使用setRecyclerListener()添加一个RecyclerListener对象,该对象将在项目View即将被回收时收到通知(onMovedTo

android - 我应该如何在 AsyncTask.doInBackground 中解压一个大数据文件?

我有一个很大的数据文件,压缩后大约有20MB。解压缩后,它最大约为50MB。以下源代码工作正常。我在其他地方的网络上找到了原件并对其进行了一些修改。此方法在AsyncTask.doInBackground中调用。所以,我想知道的是,我怎样才能保存正在进行的状态(?抱歉,我不知道正确的英文单词)并稍后恢复程序?我的意思是,这种方法需要一点时间(在模拟器上大约一分钟),而且我知道没有办法,因为数据有点大。所以,如果这个方法的一个主要Activity被杀死,我想保存解压文件的当前状态,当Activity激活时,我想从最后一点恢复解压。希望我的解释能澄清我的Intent。我正在考虑使用服务,但