[RESOLVIDO]Como povoar uma textView com informações do web service usando Ksoap2?

Fala galera,

Estou começando a usar este ksoap2, usei o metodo de exemplo para setar o texto de um textView para o valor do resultado, só que este metodo retorna um SoapObject, gostaria de saber como eu posso organizar este resultado e mostra-lo de forma ordenada. Pois do modo como estou fazendo ele retorna uma grande String com os valores corretos, mas não formatados

[code]private void obterListaDoWebService() {
	try {

		TextView texto = (TextView) findViewById(R.id.result);
		// TextView que vai receber o valor final da soma;

		SoapObject requisicao = new SoapObject(NAMESPACE, METHOD_NAME);
		// Cria um SoapObject passando os parâmetros;

		requisicao.addProperty("pData", "2012-04-01T18:13:00");
		// Adiciona o valor do primeiro parâmetro do web service;

		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
				SoapEnvelope.VER11);
		// Cria o envelope;

		envelope.dotNet = true;
		// Especifica que o web service utilizado é um .NET;

		envelope.setOutputSoapObject(requisicao);
		// Envia a requisição ao web service;

		HttpTransportSE http = new HttpTransportSE(URL);
		// Cria a comunicação com o local do web service;

		http.call(SOAP_ACTION, envelope);
		// Chama o web service passando o nome do NAMESPACE da aplicação
		// ASP.NET mais o nome do metódo e o envelope;

		envelope.implicitTypes = true;

		SoapObject listaDataSet = (SoapObject) envelope.getResponse();

		for (int i = 0; i < listaDataSet.getPropertyCount(); i++) {

			SoapObject obj = (SoapObject) listaDataSet.getProperty(i);

			//ArrayList<String>
			listaDeResultados.add(obj.toString());
		}

		texto.setText(listaDeResultados.toString());
		// Adiciono o resultado ao TextView criado;

	} catch (Exception e) {
		e.printStackTrace();
	}

}[/code]

Cara Beleza ?

Poderia printar ai o retorno como está voltando, para intender melhor.

[quote=C;k]Cara Beleza ?
Poderia printar ai o retorno como está voltando, para intender melhor.
[/quote]

Opa, valew pela ajuda ai.
O resultado é este:

anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; }; }; }; }; }; }; }; diffgram=anyType{NewDataSet=anyType{Table=anyType{USUARIO_CODIGO=401; USUARIO_NOME=tc3; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:37:19.89-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:37:19.89-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=402; USUARIO_NOME=tc4; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:38:07.753-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:38:07.753-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=403; USUARIO_NOME=(null); USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:50:01.627-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:50:01.627-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=404; USUARIO_NOME=tc5; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:50:52-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:50:52-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=405; USUARIO_NOME=tc6; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:51:29.56-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:51:29.56-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=406; USUARIO_NOME=bzjshd; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:56:13.733-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:56:13.733-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=407; USUARIO_NOME=gk; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:57:56.077-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:57:56.077-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=408; USUARIO_NOME=zbmz; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T14:00:05.36-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T14:00:05.36-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=409; USUARIO_NOME=yi; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T14:01:00.717-03:00;
.
.
.

Gostaria de ordenar por campos e valores, exemplo:

Codigo: …
Nome: …
Descriçao: …

Perguntei no StackOverflow, um cara me indicou usar o Json ou Gson, mas não faço idéia de como usar. É realmente necessario usar-los?

Cara Seguinte:

o que me trinca é isso > No StackOverflow, um cara me indicou usar o Json ou Gson, mas não faço idéia de como usar. É realmente necessario usar-los?
Logico que não por que usar isso se o resultado já está ai ! Por que complicar ??? nusssss.
Isso é falta de estudar os diversos jeitos de fazer a mesma coisa.

O segredo disso é simples.(Com todo o Respeito).

olhe para o seu retorno e tente enxergar assim:

1º Table=anyType{USUARIO_CODIGO=401; USUARIO_NOME=tc3; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:37:19.89-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:37:19.89-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=402; USUARIO_NOME=tc4; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:38:07.753-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:38:07.753-03:00; USUARIO_ATIVO=A; };

2ºTable=anyType{USUARIO_CODIGO=403; USUARIO_NOME=(null); USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:50:01.627-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:50:01.627-03:00; USUARIO_ATIVO=A; }; Table=anyType{USUARIO_CODIGO=404; USUARIO_NOME=tc5; USUARIO_NUMERO_PARTICIPANTES=1; USUARIO_DESCRICAO=anyType{}; USUARIO_LATITUDE=0; USUARIO_LONGITUDE=0; USUARIO_FOTO_PERFIL=anyType{}; USUARIO_DATA_CADASTRO=2012-04-02T13:50:52-03:00; USUARIO_DATA_ATUALIZACAO=2012-04-02T13:50:52-03:00; USUARIO_ATIVO=A; };

Ok. Vamos ao que interessa. notou que a sua informação está sequencianda dentro desse rotorno pelas tags Table=anyType{Tacharam Aqui está o seu resultado :slight_smile: };

O que você tem a fazer é capturar essas propriedas no caso.
Indentepentemente quantas voltar (10, 20, 30) e percorer elas.


SoapObject listaDataSet = (SoapObject) envelope.getResponse();  

int propertyGetRetornoWebCount = listaDataSet.getPropertyCount();  

if ( propertyGetRetornoWebCount > 0){  

        for (int currentGetRetornoWebProperty = 0; currentGetRetornoWebProperty < propertyGetRetornoWebCount; currentGetRetornoWebProperty++) {

             SoapObject objResultSoapObject = new SoapObject(NAMESPACE, METHOD_NAME);
             SoapObject objSoapObject = new SoapObject(NAMESPACE, METHOD_NAME); 
            
           1º Modo  //No caso veja em Debug se já é suficiente para você pegar essa propriedade > Table=anyType{Tacharam Aqui está o seu resultado :) };
             objPedidoResultSoapObject = (SoapObject) listaDataSet .getProperty(currentGetRetornoWebProperty); 
              
              //Se for faça assim com todo o retorno. (Ai tu organiza do jeito que você quiser né ).
               String codigo=  objPedidoResultSoapObject .getPropertyAsString("USUARIO_CODIGO").toString();
               
              2º Modo  //No caso veja em Debug se já é suficiente para você pegar essa propriedade > Table=anyType{Tacharam Aqui está o seu resultado :) };  
                 //Se não for continue assim
                 int propertyResultCount = objPedidoResultSoapObject .getPropertyCount(); 
                
                if(propertyResultCount > 0 ){
                	
                	
                	for (int currentProperty = 0; currentProperty < propertyResultCount ; currentProperty ++) {
                		
                		 //Pegando Resultados Pertinentes ao Resultado de Valores da Ordem
                         	objSoapObject = (SoapObject) objPedidoResultSoapObject .getProperty(currentProperty );  

                                 //Se for faça assim com todo o retorno. (Ai tu organiza do jeito que você quiser né ).
                                  String codigo=  objPedidoResultSoapObject .getPropertyAsString("USUARIO_CODIGO").toString();


                      }



       }
}

Bom é isso.
ufa isso me tomou um bom Tempo.

Cara vamos por partes. Primeiro, muito obrigado pela ajuda, e desculpe a ignorancia.

Mas infelizmente não funcionou aqui…

Vendo em Debug, o int propertyGetRetornoWebCount = listaDataSet.getPropertyCount(); retorna 2.

Sendo que tem muito mais registros.

Tem algum motivo especifico? voce ja viu isso acontecer?

Retorna 2 Proriedades.

Você tem que fazer o proximo passo que te passei.

    SoapObject listaDataSet = (SoapObject) envelope.getResponse();    
      
    int propertyGetRetornoWebCount = listaDataSet.getPropertyCount();    
      
    if ( propertyGetRetornoWebCount > 0){    
      
            for (int currentGetRetornoWebProperty = 0; currentGetRetornoWebProperty < propertyGetRetornoWebCount; currentGetRetornoWebProperty++) {  
      
                 SoapObject objResultSoapObject = new SoapObject(NAMESPACE, METHOD_NAME);  
                 SoapObject objSoapObject = new SoapObject(NAMESPACE, METHOD_NAME);   
                  
                 objResultSoapObject = (SoapObject) listaDataSet .getProperty(currentGetRetornoWebProperty);   
                    
                     //Se não for continue assim  
                     int propertyResultCount = objResultSoapObject .getPropertyCount();   
                      
                    if(propertyResultCount > 0 ){  
                          
                          
                        for (int currentProperty = 0; currentProperty < propertyResultCount ; currentProperty ++) {  
                              
                             //Pegando Resultados Pertinentes ao Resultado de Valores da Ordem  
                                objSoapObject = (SoapObject) objResultSoapObject .getProperty(currentProperty );    
      
                                     //Se for faça assim com todo o retorno. (Ai tu organiza do jeito que você quiser né ).  
                                      String codigo=  objSoapObject .getPropertyAsString("USUARIO_CODIGO").toString();  
      
      
                          }  
           }  
    }  

[quote=rdgmnz]Cara vamos por partes. Primeiro, muito obrigado pela ajuda, e desculpe a ignorancia.

Mas infelizmente não funcionou aqui…

Vendo em Debug, o int propertyGetRetornoWebCount = listaDataSet.getPropertyCount(); retorna 2.

Sendo que tem muito mais registros.

Tem algum motivo especifico? voce ja viu isso acontecer?[/quote]

Pronto veja se dá certo.
Tinha uns erros corrigi.
Meu chefe estava perto !! kkkkkk hsuahsauhasushsau

Maravilha, o servidor que eu estava testando esta fora do ar. Assim que der eu testo, mas brigadão mesmo cara.

Só uma duvida, não esta achando esta função .getPropertyAsString voce sabe o que pode ser?

Joia bom acho que vai dar certo.

aaaaa você já fez (Ctrl+Shift+O ) na classe. ??

você criou o objeto?

SoapObject objSoapObject = new SoapObject(NAMESPACE, METHOD_NAME);  

Essa propriedade getPropertyAsString. é priopria de SoapObject.

Depois é só capturar.


//Se for faça assim com todo o retorno. (Ai tu organiza do jeito que você quiser né ).    
 String codigo=  objSoapObject.getPropertyAsString("USUARIO_CODIGO").toString();   

[quote=rdgmnz]Maravilha, o servidor que eu estava testando esta fora do ar. Assim que der eu testo, mas brigadão mesmo cara.

Só uma duvida, não esta achando esta função .getPropertyAsString voce sabe o que pode ser?
[/quote]

Opa, acabei de fazer CTRL + SHIFT + O (comando para importar certo?) e mesmo assim.

Sim, criei. Bem estranho.

Estou usando o Ksoap2 v2.4 sera que tem alguma coisa a ver com isto?

só aparece o .getProperty() sera que da certo usando ele? vou testar quando puder…

Esse .getProperty() tambem recebe String, acredito que a versao que eu esteja usando juntou essas duas.

Cara utiliza essas novas aqui.

ksoap2-android-assembly-2.5.8-jar-with-dependencies
ksoap2-android-assembly-2.6.0-jar-with-dependencies
ksoap2-android-assembly-2.6.1-jar-with-dependencies

Recomendo essa é a ultima versão:
ksoap2-android-assembly-2.6.2-jar-with-dependencies

[quote=rdgmnz]Opa, acabei de fazer CTRL + SHIFT + O (comando para importar certo?) e mesmo assim.

Sim, criei. Bem estranho.

Estou usando o Ksoap2 v2.4 sera que tem alguma coisa a ver com isto?

só aparece o .getProperty() sera que da certo usando ele? vou testar quando puder…

Esse .getProperty() tambem recebe String, acredito que a versao que eu esteja usando juntou essas duas.[/quote]

Com essa lib apareceu a funçao correta, servidor voltou e testando…

illegal property: USUARIO_CODIGO

Cara exatamente nessa linha aqu.

Coloca dem debug e me mostra o que está vindo.
Porfavor

String codigo=  [b]objSoapObject[/b].getPropertyAsString("USUARIO_CODIGO").toString();   

A respeito disso.
Você tem que pegar a pripriedade certa que está na Web Service no caso o parametro de retorno.

[quote=rdgmnz]Com essa lib apareceu a funçao correta, servidor voltou e testando…

illegal property: USUARIO_CODIGO
[/quote]

Exatamente nesta linha:

objSoapObject = anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=any…

objResultSoapObject = anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; elemen…

propertyResultCount = 1

propertyGetRetornoWebCount = 2

Executando esta linha retorna illegal property: USUARIO_CODIGO

Tentei tambem USUARIO_NOME, USUARIO_NUMERO_PARTICIPANTES, USUARIO_DESCRICAO e nada

Te mandei uma MP.

cara em vez de:

SoapObject listaDataSet = (SoapObject) envelope.getResponse();  

Faz Assim:

SoapObject listaDataSet = (SoapObject) envelope.bodyIn;  

E printa novamente. por favor.

[quote=rdgmnz]Exatamente nesta linha:

objSoapObject = anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; element=any…

objResultSoapObject = anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{}; elemen…

propertyResultCount = 1

propertyGetRetornoWebCount = 2

Executando esta linha retorna illegal property: USUARIO_CODIGO

Tentei tambem USUARIO_NOME, USUARIO_NUMERO_PARTICIPANTES, USUARIO_DESCRICAO e nada
[/quote]

Te mandei minha classe inteira por mp… devo estar fazendo algo muito errado…

C;K muito obrigado viu cara, vc ajudou demais…

E para a galera que tem a mesma duvida, ainda não consegui resolver de modo “oficial” mas fiz uma gambiarra que funcionou… enquanto eu não acho um jeito mais elegante este serve para o MEU proposito.

Desculpem pela nomenclatura de variaveis, sou bem ruin nisto.

//Pega a resposta e transforma em String
String teste2 = envelope.getResponse().toString();

//Faz uma substring a partir do primeiro USUARIO_CODIGO da outra String
String teste3 = teste2.substring(teste2.indexOf("USUARIO_CODIGO="));
			
			//Lista de resultados
			ListView listaUsuarios = (ListView) this.findViewById(R.id.result2);
			
			final List&lt;String&gt; Lista = new ArrayList&lt;String&gt;();
			
                        //Para nao entrar em looping
			boolean continuar = true;
			
			while (continuar) {
				teste3 = teste3.substring(teste3.indexOf("USUARIO_CODIGO="));
				String codigo2 = "Codigo: " + teste3.substring(teste3.indexOf("USUARIO_CODIGO=") + 15,teste3.indexOf(";"));
				teste3 = teste3.substring(teste3.indexOf(";") + 1);
				
				codigo2 = codigo2 + " Nome: " + teste3.substring(teste3.indexOf("USUARIO_NOME=") + 13,teste3.indexOf(";"));
				teste3 = teste3.substring(teste3.indexOf(";") + 1);	 
				
				if (teste3.contains("USUARIO_CODIGO=")) {
					continuar = true;
				} else {
					continuar = false;
				}
				
				Lista.add(codigo2);
				
			}

Enfim, vou montando a string passo a passo, bem trabalhoso adimito. Mas nao achei outro meio.

Galera agora sim resolvido, não sei bem explicar como mais foi. Segue o codigo pra que tiver o mesmo problema…

[code]public class ResultadoWS extends Activity {

// VARIAVEIS DO WEBSERVICE
private static final String NAMESPACE = "http://tempuri.org/";
private static final String METHOD_NAME = "ListarUsuarios";
private static String SOAP_ACTION = " ";
private static final String URL = "http://192.168.0.111/FriendNet/Principal.asmx";

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.resultado_ws);
	obterListaDoWebService();
}

private void obterListaDoWebService() {
	try {

		SOAP_ACTION = NAMESPACE + METHOD_NAME;

		// Cria um SoapObject passando os parâmetros;
		SoapObject requisicao = new SoapObject(NAMESPACE, METHOD_NAME);

		// Adiciona o valor do primeiro parâmetro do web service;
		requisicao.addProperty("pData", "2012-04-01T18:13:00");

		// Cria o envelope;
		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
				SoapEnvelope.VER11);
		envelope.setOutputSoapObject(requisicao);
		envelope.dotNet = true;
		HttpTransportSE transport = new HttpTransportSE(URL);
		transport.call(SOAP_ACTION, envelope);

		// Tratando a resposta
		SoapObject listaDataSet = (SoapObject) envelope.getResponse();
		int propertyGetRetornoWebCount = listaDataSet.getPropertyCount();
		ListView listaUsuarios = (ListView) this.findViewById(R.id.result2);
		final List&lt;String&gt; Lista = new ArrayList&lt;String&gt;();

		if (propertyGetRetornoWebCount &gt; 0) {

			SoapObject objResultSoapObject = new SoapObject(NAMESPACE,
					METHOD_NAME);
			SoapObject objSoapObject = new SoapObject(NAMESPACE,
					METHOD_NAME);

			objResultSoapObject = (SoapObject) listaDataSet.getProperty(1);
			objSoapObject = (SoapObject) objResultSoapObject.getProperty(0);
			int propertyResultCount = objSoapObject.getPropertyCount();
			if (propertyResultCount &gt; 0) {
				for (int currentProperty = 0; currentProperty &lt; propertyResultCount; currentProperty++) {

					SoapObject obj = (SoapObject) objSoapObject
							.getProperty(currentProperty);

					String codigo = obj.getProperty(&quot;USUARIO_CODIGO&quot;)
							.toString();
					String nome = obj.getProperty(&quot;USUARIO_NOME&quot;)
							.toString();

					String itemTotal = &quot;Codigo: &quot; + codigo + &quot; Nome: &quot;
							+ nome;

					Lista.add(itemTotal);
				}
				ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter&lt;String&gt;(
						this, R.layout.list_item, Lista);
				listaUsuarios.setAdapter(adapter);
			}
		}
	} catch (Exception e) {
		AlertDialog aD = new AlertDialog.Builder(ResultadoWS.this).create();
		aD.setTitle("Erro!");
		aD.setMessage(e.toString());
		aD.setButton("OK", new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int which) {

			}
		});
		aD.show();
		e.printStackTrace();
	} catch (OutOfMemoryError e) {
		AlertDialog aD = new AlertDialog.Builder(ResultadoWS.this).create();
		aD.setTitle("Erro!");
		aD.setMessage(e.toString());
		aD.setButton("OK", new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int which) {

			}
		});
		aD.show();
		e.printStackTrace();
	}
}

}[/code]

Cara ficou bom :slight_smile:

Parabéns.

Olá, não sei se conhecem mas indico esse site muito bom:
Android
http://aprendacomigo.com.br/videos/category/android/86

Site de videos muito legal

sgahsaushaushaushauhsausahsausahu

As aulas do Professor Neri Aldoir Neitzke. :slight_smile:

Muito Bom :slight_smile:

Acessa o nosso lá !!

www.devmobilebrasil.com.br

[quote=paulobobs@hotmail.com]Olá, não sei se conhecem mas indico esse site muito bom:
Android
http://aprendacomigo.com.br/videos/category/android/86

Site de videos muito legal[/quote]