草庐IT

aSyncTask

全部标签

java - 如何将 AsyncTask 从 Android 移植到 java?

AsyncTask对于在Android中的UI线程和其他线程之间进行同步非常有用。所以我读了它的sourcecode并尝试移植到java经典(JDK)但没有成功,因为java中不存在某些类(消息,处理程序..)。我想创建一个具有一些有用功能的类,例如AsyncTask(可以在主线程和其他线程之间同步):doInBackground(Params...params)onProgressUpdate(Progress...values)onPostExecute(Resultresult)publishProgress(Progress...values)onPreExecute()onC

java - AsyncTask 的 get() 方法 : Is there any scenario where it is actually the best option?

回答后this问题,我对使用Android的AsyncTask类的get()方法的意义/有用性有疑问。publicfinalResultget()Waitsifnecessaryforthecomputationtocomplete,andthenretrievesitsresult.基本上,是AsyncTask类的同步解决方案,它会阻塞(卡住)UI,直到后台操作完成。除了测试目的之外,即使在那些情况下,我也无法真正想到它实际上是一个好的解决方案,但我可能错了,所以我感到好奇。如果您需要用户真正等到AsyncTask完成,您可以显示一个Dialog或ProgressDialog,随时控

java - 未经检查的调用 'execute(Params...)' 作为原始类型 'android.os.AsyncTask' 的成员

我正在关注Udacity上的googleandroid教程,但在指定的代码中,我收到以下警告:UncheckedCallto'execute(Params...)'asamemberofrawtype'android.os.AsyncTask'关于此代码:DoSomethingTaskmyTask=newDoSomethingTask();myTask.execute();//WarninghereDoSomethingTask:publicclassDoSomethingTaskextendsAsyncTask{protectedObjectdoInBackground(Object

java - 如何从 AsyncTask 返回 boolean 值?

我有一些用户输入ftp地址、用户名、密码、端口和testConnection按钮的EditTexts。如果连接成功建立,则返回boolean值true。booleanstatus=ftpConnect(_address,_username,_password,_port);ftpDisconnect();if(status==true){Toast.makeText(SiteManager.this,"ConnectionSuccesful",Toast.LENGTH_LONG).show();}else{Toast.makeText(SiteManager.this,"Connect

java - 命名 AsyncTask 的线程

是否可以为AsyncTask的后台线程命名,就像Java中的普通线程一样:Thread(Runnabletarget,Stringname)我看过AsyncTask的代码,默认构造函数只是默认给个名字privatestaticfinalThreadFactorysThreadFactory=newThreadFactory(){privatefinalAtomicIntegermCount=newAtomicInteger(1);publicThreadnewThread(Runnabler){returnnewThread(r,"AsyncTask#"+mCount.getAndIn

java - Object[] 不能在 AsyncTask 中强制转换为 Void[]

我在扩展的asynctask中遇到了这个错误,但我确定Object[]是一个Void[]。这是我的自定义AsyncTask:publicabstractclassRepeatableAsyncTaskextendsAsyncTask{privatestaticfinalStringTAG="RepeatableAsyncTask";publicstaticfinalintDEFAULT_MAX_RETRY=5;privateintmMaxRetries=DEFAULT_MAX_RETRY;privateExceptionmException=null;/***Defaultconstr

java - API 级别 11 之前的 AsyncTask.executeOnExecutor()

我们在Android中执行AsyncTask的正常方式是,来自AndroidAPI:privateclassDoIntenseTaskextendsAsyncTask{protectedVoiddoInBackground(Object...params){for(Objectparam:params){ObjectrtnObj=doIntenseJob(param);publishProgress(rtnObj);}returnnull;}protectedvoidonProgressUpdate(Object...progress){for(ObjectrtnObj:progres

java - 完成 AsyncTask 后未调用 onPostExecute

出于某种原因我的onPostExecute()在我的AsyncTask之后不调用完成。我的类(class)声明:publicclasssetWallpaperForegroundextendsAsyncTask我的onPostExecute():protectedvoidonPostExecute(Booleanresult)一切正常,我的doInBackground()成功完成并返回一个boolean值,然后它就完成了。谢谢 最佳答案 您是否使用execute()方法启动任务?如果您只调用doInBackground,onPost

java - 扩展 AsyncTask<Void, Void, Void>

在我的android应用程序中,我在doInBackground中执行一些操作通过扩展AsyncTask类(class)。(我在这个类中执行任何UI都没用)这是正确使用AsyncTask吗?如果可以,我可以改为扩展AsyncTask吗?扩展AsyncTask有什么区别?和AsyncTask代码示例:publicclassMessagePoolingextendsAsyncTask{@OverrideprotectedVoiddoInBackground(Void...params){while(!isCancelled()){//GettingdatafromserverSystemC

java - 无法覆盖 AsyncTask 类中的 onPostExecute() 方法或使其触发

我在运行AsyncTask时无法调用onPostExecute()方法。当我尝试设置扩展AsyncTask的类时,其中onPostExecute()被覆盖,我收到以下构建错误。'ThemethodonPostExecute()oftypeAsyncTaskExampleActivitymustoverrideorimplementasupertypemethod'我已尝试摆脱@Override注释。这消除了构建错误,但该方法仍然没有执行。如果有人能指出我忽略了什么,我将不胜感激。代码:packagecom.asynctaskexample;importandroid.os.AsyncT