什么参数传递给AsyncTask <arg1,arg2,arg3>?

什么参数传递给AsyncTask <arg1,arg2,arg3>?

我不明白我应该放在这里以及这些论点最终的位置?究竟应该放什么,它究竟会去哪里?我是否需要包括所有3或者我可以包括1,2,20?



婷婷同学_
浏览 613回答 3
3回答

波斯汪

把事情简单化!一个AsyncTask是在后台线程中运行的后台任务。它需要一个输入,执行进度并给出输出。即AsyncTask<Input,Progress,Output>。在我看来,混淆的主要来源是当我们试图记住中的参数时AsyncTask。关键是不要记住。如果您可以想象您的任务真正需要做什么,那么AsyncTask使用正确的签名编写将是一件小事。只需弄清楚你的输入,进度和输出是什么,你会很高兴。AsyncTask的核心!doInBackgound()方法是在一个最重要的方法AsyncTask,因为只有此方法在后台线程中运行并将数据发布到UI线程。它的签名随AsyncTask参数变化。让我们来看看这段关系doInBackground()而且onPostExecute(),onProgressUpdate()也是相关的告诉我代码那么我将如何编写DownloadTask的代码?DownloadTask&nbsp;extends&nbsp;AsyncTask<String,Integer,String>{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;onPreExecute() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;String&nbsp;doInbackGround(String...&nbsp;params) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Download&nbsp;code &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;downloadPerc&nbsp;=&nbsp;//&nbsp;calculate&nbsp;that &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;publish(downloadPerc); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;"Download&nbsp;Success"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;onPostExecute(String&nbsp;result) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super.onPostExecute(result); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;onProgressUpdate(Integer...&nbsp;params) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;show&nbsp;in&nbsp;spinner,&nbsp;access&nbsp;UI&nbsp;elements &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}你将如何运行这个任务new&nbsp;DownLoadTask().execute("Paradise.mp3");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android