gpt4 book ai didi

java - 将多个不同类型的参数传递给 doInBackground (Params...params) 方法的最正确方法是什么?

转载 作者:行者123 更新时间:2023-12-01 14:58:54 29 4
gpt4 key购买 nike

我正在为一个网站设计 Android 客户端。所以我必须实现很多不同的网络操作。例如用户授权或在服务器上搜索。为此,我必须向 REST Web 服务器发送带有一些参数和 URL 的 JSON 请求。因此,我不仅必须传递 String 参数,还必须传递一些数据结构(例如 LinkedHashMap)。问题是我不知道最正确的方法。到目前为止我做了下一步:

  1. protected Boolean doInBackground(Object... param) 。然后将param[0],param[1]转换为不同的类型。我认为这是一个不好的方法。
  2. 为此目的使用 javatuples 库:

protected Void doInBackground(Pair<String, LinkedHashMap<String, Object>>... params)

看起来代码太复杂和冗余。最重要的是我必须添加

@SuppressWarnings("unchecked")

或者我收到类型安全警告。

因此,也许一些专家可以帮助我解决这个问题,并提出最正确、最有效的方法建议。

最佳答案

您可以为 Asynctask 拥有自己的构造函数,并将它们存储为可以在 doinBackground 中使用的字段

    private class Task extends AsyncTask<Void, Void, Void> {

Task(int a, long b){
//store a, b
}
@Override
protected Void doInBackground(Void... arg) {
}
}

然后

new Task(1,2).execute();

关于java - 将多个不同类型的参数传递给 doInBackground (Params...params) 方法的最正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13976765/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com