以下情况:我有一个appwidget,它从url轮询数据并使用parsedhtml更新widget。在pre-honeycomb设备上,这可以通过service完成,无需使用单独的线程。现在,在ICS上,这已经改变,ASyncThread是必需的。要访问Widget-Updater-Service中的TextViews,我使用RemoteViewsremoteViews=newRemoteViews(getApplicationContext().getPackageName(),R.layout.widget_layout);remoteViews.setTextViewText(R
虽然那里有很多教程,但我发现实现AsyncTask以将图像从URI(从内容提供者获得)加载到自定义适配器中真的很困难。我得到了基本要点,即拥有一个包含AsyncTask的类,在“doInBackground”中创建位图,然后在onPostExecute中设置ImageView。对我来说,作为android和编程的新手,我的问题是我不知道如何将我的Uri传递给每个项目的AsyncTask,如何创建位图,以及如何将它返回给适配器。我只了解了实际的AsyncTask类(ImageLoader):packageanother.music.player;importandroid.graphic
我在Activity中使用AsyncTask。看起来像:publicclassMyActivity{privateAsyncTaskmTask;privatevoiddoSomethingCool(){mTask=newAsyncTask(...);mTask.execute();}@OverrideprotectedvoidonPause(){super.onPause();//HowdoIletthetaskkeeprunningifjustrotating?if(isFinishing()==false){...}}}因此,如果用户正在旋转设备,将调用onPause(),但我不想
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我是android的新手,正在阅读文档和一些教程。服务开发人员指南说,当需要在后台运行长时间运行的任务时,应该使用它,比如音乐播放器。异步任务创建一个工作线程来执行后台任务,例如使用api获取数据,然后在它的onPostExecute()回调方法上通知UI线程。加载器在单独的线程上执行操作,注册到监听器并通知数据集更改。提供商通过在list文件中公开它们来在不同应用之间共享数据。同步适配器用于在andro
我想在doInBackground中捕获线程的异常并在onPostExcecute中打印错误消息。问题是我在onPostExecute中没有Throwable对象。如何在非UI线程中捕获异常并在UI线程中打印错误消息?publicclassTestTaskextendsAsyncTask>{@OverrideprotectedListdoInBackground(finalVoid...params){try{...returnlistOfString;}catch(SomeCustomExceptione){...returnnull;}}@Overrideprotectedvoid
我有2个AsyncTask,一个创建套接字连接,另一个使用这些套接字传输对象。我的代码是这样的:try{connectat=true;transmitter=newSocketTransmitter();transmitter.execute();connector=newsocketConnector();connector.execute(owner);this.open();}catch(IOExceptione){但是,从未创建或执行名为socketConnector的AsyncTask。我尝试更改顺序,但未创建或执行发送器...这有什么问题吗? 最
我正在尝试使用AsyncTask类来获取网站的内容。logcat告诉我W/art:Suspendingallthreadstake:15(oranyothernumber)ms重复。在日志消息打印完成之前,我的应用程序被卡住。日志完成后显示UI。我遵循了教程并仔细检查了我的代码是否与教程相同。过了一会儿,它从网站上记录了几行代码,但仅此而已。我也尝试过不同的网站。这是我的异步任务:publicclassMainActivityextendsAppCompatActivity{publicclassDownloadTaskextendsAsyncTask{@Overrideprotect
我在很多地方使用AsyncTask都没有问题。现在使用Honeycomb,所有网络i/o都需要在线程中与UI线程分开,在很多情况下需要AsyncTasks的地方,在同步网络连接非常适合之前(Honeycomb会抛出异常主/用户界面线程上的任何网络I/O)。现在我基本上想得到类似Objectresult=MyAsyncTask().execute()的东西,有好的模式吗?我找到了AsyncTaskAndroid-DesignPatternandReturnValues这是有道理的,也是GWT做事的方式,但不知何故,这听起来像是在摇尾部(然后可能只是我的大脑需要更多的扭曲)。
我的问题和这个一样InstancevariableofActivitynotbeingsetinonPostExecuteofAsyncTaskorhowtoreturndatafromAsyncTasktomainUIthread但我想将数据发送回同一个调用Activity。不启动Activity的Intent总是重新启动Activity 最佳答案 选项是使用监听器,您可以在其中创建一个您的Activity实现的接口(interface),例如:publicinterfaceAsyncListener{publicvoiddoSt
我想要的是将一个int变量传递给我的AsyncTask。intposition=5;然后我这样声明我的AsyncTask:classproveAsyncextendsAsyncTask{protectedvoidonPreExecute(){}protectedVoiddoInBackground(int...position){}...但是我得到一个错误,它是这样的:Typeargumentcannotbeofprimitivetype我只能传递一个int[]和Integer变量,但绝不能传递一个int变量,然后我执行我的AsyncTask像这样:newproveAsync().ex