为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

婷婷同学_ 2019-08-14 17:34:02
什么参数传递给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");


查看完整回答
反对 回复 2019-08-14
  • 3 回答
  • 0 关注
  • 612 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信