我想构建一个类,每次我想进行网络连接时,我都会使用它。我想先打开一个对话框,然后建立网络连接(或从SQL获取某些内容或从Web下载某些内容或更新SQL),然后关闭该对话框。我需要等待函数结束才能继续。我想使用AsyncTask,但我想不出一种方法来确定在AsyncTask中使用哪个函数。我找到了两种解决方案,switch-case或尝试使用java反射发送函数。两种解决方案都不太好。有人有其他想法或其他方法吗? 最佳答案 考虑使用Command设计模式。HereisJavaexample.您可以通过回调对其进行扩展,以便在完成后台工
这个问题在这里已经有了答案:AsyncTask:wheredoesthereturnvalueofdoInBackground()go?(2个答案)关闭9年前。我在我的应用程序中使用httpGET方法检索数据。任务完成后,我希望在我的mainActivity中显示返回值(目前我的应用程序中只有1个Activity)这是我的asyncTask类:classgetAsyncextendsAsyncTask{Stringret;@OverrideprotectedStringdoInBackground(String...params){Stringurl=params[0];myGetRe
我正在尝试实现一个在您键入时自动搜索的搜索栏。我的想法是有一个AsyncTask从服务器获取搜索数据,但我无法确定AsyncTask在我使用它时会有怎样的表现。假设我有SearchAsyncTask。每次编辑文本字段时我都会调用newSearchAsyncTask().execute(params);所以这是我的问题:它的行为是什么?我会启动许多不同的线程,它们都会返回并调用onPostExecute()吗?或者如果另一个实例在它仍在工作时被调用,第一个被调用的任务是否会在任务中停止?还是完全不同的东西?如果这样写呢?SearchAsyncTaska=newSearchAsyncTas
我有这个脚本。我已经解决了堆栈溢出问题的许多变体,并使用解决方案尝试构建知识来执行此操作,但似乎每次都失败,有人可以帮忙吗?publicclassMainextendsActivityimplementsOnClickListener{privateEditTextvalue;privateButtonbtn;privateProgressBarpb;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);
我可以添加多个AsyncTask并同时执行吗?我可以从主要Activity开始执行多个这样的Asynctask。公共(public)类接收器扩展BroadcastReceiver{@SuppressWarnings("deprecation")@OverridepublicvoidonReceive(Contextcontext,Intentintent){//TODOAuto-generatedmethodstubLog.e("Hello>>","FromOnReceive");if(intent.getAction().equals(Intent.ACTION_BOOT_COMPL
我有许多AsyncTask实例正在从服务器下载一些不同的内容。他们在执行者上运行:finalGetStationsTaskgetStationsTask=newGetStationsTask();getStationsTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,URL_STATIONS);目前我有3个AsyncTask的子类,但这个数字不会保持不变。我还对由于不同原因未完成的任务实现某种重试,如果至少有一个任务未正确完成(未收到数据),我想从头开始下载所有内容://mHandler=newHandler();//anins
如何消除警告?我正在使用的代码:privatevoidtryNew(ListsomethingList){newAsyncTask,Void,Void>(){@OverrideprotectedVoiddoInBackground(List[]somethingList){//somecodereturnnull;}}.execute(somethingList);} 最佳答案 我遇到了同样的警告,只需使用我在execute方法的参数上使用的对象即可将其删除,无需泛型。抱歉我的英语不好,但我会尽力解释得更好。以这种方式创建我的Asy
我需要建议这个解决方案是否可以接受并且不会导致溢出,我更新了使用AsyncTask读取的数据,在AsyncTask完成后我需要一次又一次地更新。该解决方案是否可接受且安全privateclassDownloadFilesTaskextendsAsyncTask{@Overrideprotectedcom.ring_view.www.json.SystemdoInBackground(URL...params){intcount=params.length;URLtemp=params[0];Systemsystem=null;try{system=Communicator.getSys
我在我的AsyncTask中使用这段代码来确保屏幕在AsyncTask运行时保持明亮:getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);但是,我不希望屏幕在AsyncTask运行后强制变亮。我怎样才能真正“撤消”或“关闭”该选项? 最佳答案 在您的AsyncTask调用中的onPostExecute方法中getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);参
您好,这是我在这里的第一篇文章和我的第一个更高级的Android手机应用程序...我知道这里提到了这个主题,谷歌知道很多例子,但是它们并不完全是我看起来的形式;(我承认我是n00000b...就Android编码而言...我开始...就在几天前,请原谅我:)问题是我的ListView元素没有被填充。应用程序编译和运行没有错误,但它不会午餐getView。根据我在网上阅读的内容...我需要它来显示我心爱的ListView及其内容...请帮忙:)packagecom.test.stackParser;publicclassStackParserActivityextendsActivity