草庐IT

asyncTasks

全部标签

android - 从 android 连接到 web 服务 - AsyncTask 或服务?

我正在编写一个将连接到REST/JSON网络服务的Android应用程序。用户将检索信息、上传评论、下载和上传图片等。我知道我不应该在Activity/UI线程中保留所有这些网络通信,因为它会导致ANR。我感到困惑的是我应该使用AsyncTask还是带有“手动”线程的服务来完成此任务;有了服务,我只需为网络服务API中的每个方法提供一个公共(public)方法。然后我会在这些方法中的每一个中实现线程。如果我使用AsyncTask,我会创建一个辅助类,为Web服务API中的每个方法定义AsyncTask。首选哪种方法?与web服务的交互只会在用户处于Activity中时发生。一旦他们切换

Android 4.0 asynctask 同时不可能

我有同样的问题RunningmultipleAsyncTasksatthesametime--notpossible?除了我使用android4.0和android:minSdkVersion="14"。我试过他的例子,也得到了:barbarbarbarbarbarbarbarbar编辑:我找到了解决方案here而不是使用:task.execute();使用:task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,null); 最佳答案 听起来像这样解释(来自documentati

android - 是否有同时执行的 AsyncTasks 的限制?

这应该有一个简单的答案,但我找不到。由于我仍然是一个android假人,所以我来这里是想问问你们。我一直在制作这个在启动时执行10个AsyncTasks的项目。每个任务包含3个URL,这些URL在那里收集数据并且在应用程序中不做任何重要的事情(目前)。我还有10个TextView,用于跟踪AsyncTasks的进度。当一个任务开始时,适当的TextView被放在“开始”当任务正在进行时,它将适当的TextView设置为“正在下载”当任务完成时,它会将相应的TextView设置为“已完成”这是我对AsyncTask的观察和质疑。当我启动应用程序时,我注意到5个TextView被切换到“正

安卓重启AsyncTask

尝试重新打开Activity后,我在重新启动AsyncTask时遇到了一些问题。当我第一次打开Activity时,我调用它来启动第一次工作的AsyncTask。myTaskconnectedTask;connectedTask=newmyTask();connectedTask.execute();publicclassmyTaskextendsAsyncTask{@OverrideprotectedIntegerdoInBackground(Integer...arg0){//IncreasetimerandwaithereinaloopSystem.out.println("ASY

android - 使用AsyncTask在后台服务中添加android进度对话框,获取致命异常

我正在从计划服务中调用一个Asynctask,它将每10分钟运行一次。在运行服务时,进度对话框从OnpreExecute获取异常。错误:FATALEXCEPTION:mainandroid.view.WindowManager$BadTokenException:Unabletoaddwindow--tokennullisnotforanapplicationatandroid.view.ViewRootImpl.setView(ViewRootImpl.java:594)atandroid.view.WindowManagerGlobal.addView(WindowManagerG

android - 如何在 ASyncTask/onPostExecute 中使用来自资源的字符串来使用 Toast?

我有以下代码:@OverrideprotectedvoidonPostExecute(Voidarg0){...Toast.makeText(getBaseContext(),getBaseContext().getResources().getString(R.string.toast_sync_completed),Toast.LENGTH_SHORT).show();}它失败了(FC)。如果传递"Teststring"而不是getResources().getString(R.string.toast_sync_completed),则它可以正常工作。我做错了什么?

android - 为什么我使用 AsyncTask 时会出现 android.os.NetworkOnMainThreadException?

我在AsynkTask中编写网络操作代码时出现android.os.NetworkOnMainThreadException。抛出这个异常还有其他原因吗?这是我的代码:publicclassBackground_confirmationextendsAsyncTask{@OverrideprotectedvoidonPreExecute(){//TODOAuto-generatedmethodstubprogressDialog=ProgressDialog.show(Confirmation.this,"Pleasewait...","Retrievingdata...",true)

android - 从多个 AsyncTasks 获取结果

您好,感谢您的帮助。我有一个方法调用一个AsyncTask来从网络中检索一些数据。方法按顺序调用多次,因此启动多个AsyncTasks。每次启动method时,我都需要从相关的AsyncTask(而不是从之前或之后调用的其他AsyncTask)取回正确的结果。非常感谢任何帮助。编辑编辑编辑编辑添加了其余代码。请注意:整个过程在服务中运行。publicstaticclassUpdateServiceextendsService{@OverridepublicintonStartCommand(Intentintent,intflags,intstartId){int[]appWidget

Android - 按下后退按钮时停止 AsyncTask 并返回到上一个 Activity

我有一个AsyncTask,我希望它在按下后退按钮时停止执行。我还希望应用程序返回到之前显示的Activity。看来我已经设法停止了任务,但应用程序没有返回到之前的Activity。有任何想法吗?这是我的代码的摘录privateclassMyTaskextendsAsyncTaskimplementsOnDismissListener{privatebooleanexception=false;@OverrideprotectedvoidonPreExecute(){pd=ProgressDialog.show(IscrizioniActivity.this,"Pleasewait..

android - 如何在 Android 的服务中使用 AsyncTask?

我正在尝试在它给出异常的代码下面运行:java.lang.RuntimeException:Unabletostartservicecom.example.testfeeds.UpdateWidgetService@410a33c8withIntent{cmp=com.example.testfeeds/.UpdateWidgetService(hasextras)}:android.os.NetworkOnMainThreadException据我所知,新版本的Android不允许在主线程中进行网络操作。人们建议我使用异步任务但我不知道如何使用它。有人可以用下面的代码告诉我吗?提前致