最近我开始使用AsyncTask并发现了一些使用它的问题。我有这个ListActivity(CatalogActivity)并且我使用AsyncTask重新加载它,因为它是某种树逻辑。每次我在列表中选择一个项目时,我都会进行一些计算并在doInBackground方法中显示进度对话框,而在onPostExecute中我会重新加载列表并关闭进度。一切正常。完成后(我到达最后一个级别)我开始另一个Activity(LoginActivity)。这个新Activity有“后退”菜单按钮,可以启动我之前提到的列表Activity。它启动Activity,当我在doInBackground方法中
当我尝试启动我的doinbackground以等待传入的消息时,它从未真正运行过它只是跳过它publicclassIncomingdataextendsAsyncTask{Sockets;Stringinput;publicIncomingdata(Socketsocket){super();this.s=socket;}@OverrideprotectedVoiddoInBackground(Void...params){Log.i("ddd","Gotherebeforetry");try{InputStreamin=s.getInputStream();Scannerr=newS
我有这个AsyncTask:publicstaticvoidlogin(finalStringemail,finalStringpassword,finalStringtoken,finalSocketHandlerhandler){execute(newAsyncTask(){@OverrideprotectedVoiddoInBackground(finalVoid...params){Log.d("ACEPTAR","DOINBACKGROUND");Stringurl=handler.servidor.getUrl();url+="/login-usuario";Strings
我有一个AsyncTask接受上下文(使用onPostExecute)并运行doInBackground从服务器返回对象的ArrayList。当我执行这个时,我可以看到doInBackground运行良好,但它没有将结果传递给onPostExecute.经过大量搜索,我还没有找到如何在AsyncTask中返回对象ArrayList的答案。.这是我在doInBackground中创建的对象并使用onPostExecute:publicclassServerTimeCard{publicStringeventNameInput;BooleanisLocation,isImage,isVoi
我只是在寻找不在doInBackground()中使用Context背后的事实。事实上,我们不能直接更新doInBackground()中的UI,要更新doInBackground()中的UI,我们必须通过负责调用的publishProgress()方法调用其他线程onProgressUpdate().所以简而言之,我只想知道UIthread和AsyncTask之间的化学react是什么,以及为什么AsyncTask在UIThread中执行。 最佳答案 Q为什么AsyncTask的doInBackground()中不能使用Conte
这更像是“我应该如何设计”而不是“我如何编码”所以我希望这是在正确的地方......我有一个从AsyncTask扩展而来的非常标准的类。我如何最好地安排它来完成许多不同的任务?例如,在使用GAE时,我有标准的获取、插入、删除和更新方法,这些方法都需要异步运行。@OverrideprotectedStringdoInBackground(String...params){if(tipApiService==null){TipBeanApi.Builderbuilder=newTipBeanApi.Builder(AndroidHttp.newCompatibleTransport(),n
在Android应用程序中,我想将JSONObject从doInBackground()方法返回到onPostExecute()方法。这是代码:privateclassAddAsyncTaskextendsAsyncTask{JSONObjectjsonObjRecv;Stringresult;@OverrideprotectedJSONObjectdoInBackground(JSONObject...params){AssetObjassetObj=newAssetObj();assetObj.setAssetName(txtname.getText().toString());a
我在执行postexecute()上的AlertDialog时遇到问题。抛出这个异常Causedby:java.lang.RuntimeException:无法在未调用Looper.prepare()的线程内创建处理程序或者,当我放入AlertDialog.Builder时,它只是不起作用请帮助。同样在输入错误密码的情况下,该过程终止。在用户名或密码无效的情况下如何调用Toast方法下面是代码fragmentpublicvoidLogin(){//Toast.makeText(getBaseContext(),pass.getText()+""//+user.getText(),//T
这个问题在这里已经有了答案:AsyncTaskAnerroroccuredwhileexecutingdoInBackground()(3个答案)关闭9年前。我的Android应用程序中的代码存在问题。我以前没有处理过Async,我不确定如何调试这个问题。出于安全原因,该URL已被替换。classcheckLoginextendsAsyncTask{protectedBooleandoInBackground(String...params){StringurlStr="http://example.com/api/?username="+params[0]+"&password="+
我最近刚刚阅读并测试了AsyncTask,现在我需要知道如何在onPostExecute部分传递多个值。好吧,我使用JSON解析器从Web获取值,但我从JSON获取的值是多个值,我将这些值传递到一个数组中,该数组由获取的每个数据的列标题分隔,这是我应该返回它的部分供onPostExecute使用。但据我所知,每次运行只能使用一次返回(如果我错了请纠正我)。到目前为止,这是我的代码:publicclassGetInfoextendsAsyncTask>{privatefinalStringTAG=null;InputStreamis=null;StringBuildersb=null;L