将参数传递给AsyncTask<String, Void, Void>

3

我正在开发一个安卓应用程序,需要打开条形码扫描屏幕并扫描条形码,然后将条形码字符串发送到Web服务。我已经完成了条形码读取部分,并且可以向Web服务发送静态字符串。我正在异步地向Web服务发送字符串。

这是我的代码:

public class AsyncCallWS extends AsyncTask<String, Void, Void> {
    @Override
    protected Void doInBackground(String... params) {
        try {
            execute__barcode_webservice();
        } catch (Exception e) {
            // TODO: handle exception
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {

    }

    @Override
    protected void onPreExecute() {

    }

    @Override
    protected void onProgressUpdate(Void... values) {

    }
}

我需要将两个字符串传递给"execute__barcode_webservice()"函数

以下是我的异步调用方法,用于发送这些字符串。

 AsyncCallWS soap_object = x.new AsyncCallWS();
 soap_object.execute();

如何将两个字符串传递给soap_object并执行execute__barcode_webservice()函数?
4个回答

4
soap_object.execute(new String []{"StringOne","StringTwo"});

您还可以进行以下操作:

soap_object.execute("StringOne","StringTwo");

doInBackground方法中,params参数是一个可变参数,因此只需这样做:
execute__barcode_webservice(params[0], params[1]);

2

试试这个...

AsyncCallWS soap_object = x.new AsyncCallWS();

soap_object.execute(new String []{"String_one","String_two"});

然后在doInBackground方法中

 execute__barcode_webservice(params[0],params[1]);

0

你也可以传入一个字符串数组,如下:

new String[] info = ...
soap_object.execute(info);

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接