java - Android - Método com retorno usando thread - Stack Overflow em Português
Olá galera estou desenvolvendo uma aplicação android que usa a biblioteca volley (google) para realizar as minhas requisições http. Tenho um método que retorna um Boolean e depende do retorno da requisição, ai que esta a maldade, o método retorna o valor antes de terminar a requisição.
public MyService(Context context){
this.context = context;  Thread
public Boolean isUrlValida(final String url){
Log.w("isUrlValida", "onResponse");
Log.w("isUrlValida", "onErrorResponse");
((AppApplication) context).getRequestQueue().add(stringRequest);
((AppApplication) context).getRequestQueue().start();
Vou precisar realizar algum controle de Thread's ? Valeu !
java android thread volley
perguntada 15/01/15 às 17:58
marcossilvajnrmarcossilvajnr
qual o retorno que há?
15/01/15 às 18:02
200 - ok, ele entra no onResponse() o problema que já retorna false sem esperar a requisição
– marcossilvajnr
15/01/15 às 18:08
Creio que a maneira para se trabalhar com Volley é quase a mesma quando se trabalha com AsyncTasks, você terá que implementar um "aguarde" para o usuário até obter o conteudo que você precisa.
15/01/15 às 18:09
Acrescente isto: if (s == null) { }- PARA TESTAR.
15/01/15 às 18:14
@wryel vou dar uma olhada no AsyncTasks.
15/01/15 às 18:23
Se pretender aguardar por uma thread poderá utilizar o método join() da class Thread, que aguarda que uma dada thread termine de executar. (Mas atenção para não bloquear a interação com o utilizador) Exemplo:
System.out.println("Acabou.");
Tem sempre a alternativa de usar o AsyncTask em que consegue estipular o retorno Boolean no fim da thread terminar, bastando definir os tipos das variáveis com que o AsyncTask lida e fazer override ao método onPostExecute(..)
respondida 16/01/15 às 18:18
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag java android thread volley ou faça sua própria pergunta.