/ / Android AsyncTask params not found - java, android, android-asynctask, nullpointerexception, params

Params Android AsyncTask não encontrado - java, android, android-asynctask, nullpointerexception, params

Eu sou novo em android / java, mas tenho conhecimentos avançados em c # e .net.

Eu tenho um problema com a AsyncTask.

Meu Código:

import android.os.AsyncTask;

public class testtask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = ""; // BREAKPOINT HERE

return "";
}

@Override
protected void onPostExecute(String result) {
}
}

E a chamada:

public void RequestDepartments(View view) {
BamakiWebService service = new BamakiWebService();
RequestType request = new RequestType();

request.Uri = "departments/all";


try {

testtask task = new testtask();
task.execute("wfwef");

}
catch (Exception ex) {
Log.e("Main", ex.getMessage());
}
}

O código falha porque não consigo acessar os urls ?! Quando eu depuro o doInBackground e adiciono os urls para assisti-lo, ele diz "Não é possível encontrar a variável local" urls "" ?! (no BreakPoint -> // BREAKPOINT AQUI)

O que estou fazendo errado ?!

EDITAR

Alterando o Execute para

testtask task = new testtask();
String[] params = new String[] {"wfwef"};
task.execute(params);

Não resolveu o problema ...

Respostas:

0 para resposta № 1

Você não precisa passar uma string-array! Se você está passando apenas uma string, você pode acessar essa string em doInBackground com urls [0]! Espero que ajude

yourAsyncTask.execute(Your URL String);

E em doInBackground acesse os urls da mesma forma que faria com uma matriz. urls [0]


-1 para resposta № 2

Dê execute () uma string-array como um parâmetro, não uma string. Em doInBackground (String ... urls) você pode recuperá-lo com urls [0], urls [1] etc.