首页 > 代码库 > CSDN上下载的一些关于Android程序调用Webservice运行不成功的问题

CSDN上下载的一些关于Android程序调用Webservice运行不成功的问题

今天从书上和CSDN上找了几个关于android调用webservice的例子,这些例子从代码来看,没任何错误,但是就是运行不成功。分析了android调用web接口的写法,发现这些例子在调用的时候没单独开一个线程来运行的问题。下面把CSDN上下载的例子“ Android查询电话号码”的主要改动代码贴出来,希望对学习android的初学者有帮助。

FutureTask<String> futureTask = new FutureTask<String>(
				new Callable<String>()
				{
					@Override
					public String call() throws Exception
					{
						try
						{
							// 调用WebService
							transport.call(soapAction, envelope);
							if (envelope.getResponse() != null)
							{
								// 获取返回的数据
								SoapObject object = (SoapObject) envelope.bodyIn;
								// 获取返回的结果
								String result = object.getProperty(0)
										.toString();
								return result;
							}
						} catch (Exception e)
						{
							e.printStackTrace();
						}
						return null;
					}
				});	 
		new Thread(futureTask).start();

		// 将WebService返回的结果显示在TextView中
		try
		{
			String result=futureTask.get();
			resultView.setText(result);
		} catch (InterruptedException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ExecutionException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

CSDN上下载的一些关于Android程序调用Webservice运行不成功的问题