什么参数传递给AsyncTask <arg1,arg2,arg3>?我不明白我应该放在这里以及这些论点最终的位置?究竟应该放什么,它究竟会去哪里?我是否需要包括所有3或者我可以包括1,2,20?
3 回答
波斯汪
TA贡献1811条经验 获得超4个赞
把事情简单化!
一个AsyncTask是在后台线程中运行的后台任务。它需要一个输入,执行进度并给出输出。
即
AsyncTask<Input,Progress,Output>。
在我看来,混淆的主要来源是当我们试图记住中的参数时AsyncTask。
关键是不要记住。
如果您可以想象您的任务真正需要做什么,那么AsyncTask使用正确的签名编写将是一件小事。
只需弄清楚你的输入,进度和输出是什么,你会很高兴。
AsyncTask的核心!
doInBackgound()方法是在一个最重要的方法AsyncTask,因为
只有此方法在后台线程中运行并将数据发布到UI线程。
它的签名随
AsyncTask参数变化。
让我们来看看这段关系
doInBackground()而且onPostExecute(),onProgressUpdate()也是相关的
告诉我代码
那么我将如何编写DownloadTask的代码?
DownloadTask extends AsyncTask<String,Integer,String>{
@Override
public void onPreExecute()
{}
@Override
public String doInbackGround(String... params)
{
// Download code
int downloadPerc = // calculate that
publish(downloadPerc);
return "Download Success";
}
@Override
public void onPostExecute(String result)
{
super.onPostExecute(result);
}
@Override
public void onProgressUpdate(Integer... params)
{
// show in spinner, access UI elements
}}你将如何运行这个任务
new DownLoadTask().execute("Paradise.mp3");- 3 回答
- 0 关注
- 673 浏览
添加回答
举报
0/150
提交
取消
