GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Carregar Dados da Web com Barra de Progresso


#1

Como faço para exibir uma barra de progresso (Gauge não interativo) enquanto minha aplicação recebe os dados do WebService?

Quando dou o comando stringBuffer.append(ht.call(client)); a minha aplicação fica alguns segundos parada esperando o WebService processar o pedido e enviar a resposta.
Como faço para exibir uma barra de progresso enquando aguardo a resposta do WebService?


#2

Posta um pedaço do teu codigo ae... pra ter uma ideia...
flw!


#3

Esse é o trecho que faz a conexão com o WebService:

                               try{
                                    stringBuffer = new StringBuffer();
                                    SoapObject client = new  SoapObject(url,"buscarHorarios"); 
                                    client.addProperty( "linha", tfNumLinha.getString() ); 
                                    HttpTransport ht = new HttpTransport(url,"buscarHorarios");
                                    stringBuffer.append(ht.call(client));
                                    dadosWS = stringBuffer.toString();
                                }catch (IOException ioe) {
                                }catch (SecurityException se){
                                }

Quando entro na linha stringBuffer.append(ht.call(client)); ele fica alguns segundos conectando e aguardando a resposta. Quand recebe a resposta ele passa para a linha dadosWS = stringBuffer.toString();.
Gostaria de mostrar uma barra de progresso quando ele fizer a conexão e de sair da tela da barra de progresso quando ele receber a resposta do servidor.


#4

Problema que StringBuffer não tem uma propriedade que diga por exemplo: while(strBuffer.read()) entendeu??? ... mas sera que no teu HttpTransport no metodo call não tem essa proprieadade poderia pensar por ae..... eu sou iniciante nessa area de WebService esse teu HttpTransport é uma Classe tua ou do J2ME... porque vi aqui e não tem ela.

[]´s


#5

Progresso vai ser meio dificil fazer sem mexer no fonte desse HttpTransport, mas vc pode fazer uma animação distrativa.
Use uma outra thread que fique mostrando alguma animação na tela até que chegue o restultado.

Se não souber mexer com Threads procure nesse mesmo fórum tem vários tópicos que discutem implemenções de animações com Threads.

abraço


#6

Realmente Thread seria uma ótima saida pra esse problema.
:grin:


#7

A classe HttpTransport é do framework Ksoap (ou Kxml, não em lembro ao certo). essas frameworks permitem ao JME interagir com WebServices.
Usar Thread é uma boa, vou ver como posso fazer.


#8