【问题标题】:Post and Get using AsyncTask使用 AsyncTask 发布和获取
【发布时间】:2014-06-04 20:17:11
【问题描述】:

我必须使用异步任务在我的服务器中发布和获取请求。我收到一个错误,因为我在 android 2.3 Gingerbread 中做,而对于更高版本,我需要 AsyncTask。

我这里有这段代码:

私有类 Connection 扩展 AsyncTask {

    @Override
    protected Object doInBackground(Object... arg0) {
        connect();
        return null;
    }

所以,在我的创建中,我调用了

新连接().execute();

但是,问题是我有 3 个功能:

postData()

getData()

如何将 doInBackground(Object... arg0) 与 2 个不同的函数一起使用?

有人知道怎么做 2 次吗?

谢谢

【问题讨论】:

  • 只需在 doInBackground 中调用所有你想要的函数。为什么你认为这会是个问题?
  • 我认为不会有问题。我不能同时调用,因为它们在我的应用程序中的不同时间被调用。我会在用户输入数据时发布数据,当用户输入数据时我会得到结果。

标签: android post android-asynctask get


【解决方案1】:

有多种方法可以做到这一点。您可以创建两个AsyncTask 子类,一个用于postData(),另一个用于getData()。或者,您可以创建一个子类,您可以在其中根据在其构造函数中传递的参数或作为execute(...) 的参数来选择要执行的操作。也就是说,对于给定AsyncTask 的同一个实例(对象),您永远不应该多次运行execute();创建一个不同的实例并在新实例上调用execute()

【讨论】:

  • 我已经解决了这个问题:我只是在放置 case 1、2 和 3 时创建了一个 'if'。所以我创建了更多 3 个函数,例如,当我调用 post 时,我调用 new Connection( 1).execute();因此,将执行的函数是“POst”。谢谢你的回答。
  • 好的。如果您觉得答案对您有所帮助,请随时单击左侧的复选图标接受它。
猜你喜欢
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 2011-01-02
  • 2011-06-25
  • 1970-01-01
  • 2015-05-18
  • 2015-04-18
  • 1970-01-01
相关资源
最近更新 更多