android怎么访问天气webservice访问地址,用网上找的链接都不行

&Android应用源码调用webservice实现天气预报带论文
秒后自动跳转到登录页
(奖励10下载豆)
快捷登录:
举报类型:
不规范:上传重复资源
不规范:标题与实际内容不符
不规范:资源无法下载或使用
其他不规范行为
违规:资源涉及侵权
违规:含有危害国家安全等内容
违规:含有反动/色情等内容
违规:广告内容
详细原因:
任何违反下载中心规定的资源,欢迎Down友监督举报,第一举报人可获5-10下载豆奖励。
Android编程14个很有
Android开发中Web_S
Android开发入门与实
4天教会您用Android
Android应用开发入门
2015超级火爆的测试
最火的Android开源项
Android应用源码调用webservice实现天气预报带论文
上传时间:
技术分类:
资源评价:
(1位用户参与评价)
已被下载&48&次
Android应用源码调用webservice实现天气预报带论文
本资料共包含以下附件:
Android应用源码调用webservice实现天气预报带论文.rar
51CTO下载中心常见问题:
1.如何获得下载豆?
1)上传资料
2)评论资料
3)每天在首页签到领取
4)购买VIP会员服务,无需下载豆下载资源
5)更多途径:点击此处
2.如何删除自己的资料?
下载资料意味着您已同意遵守以下协议:
1.资料的所有权益归上传用户所有
2.未经权益所有人同意,不得将资料中的内容挪作商业或盈利用途
3.51CTO下载中心仅提供资料交流平台,并不对任何资料负责
4.本站资料中如有侵权或不适当内容,请邮件与我们联系()
5.本站不保证资源的准确性、安全性和完整性, 同时也不承担用户因使用这些资料对自己和他人造成任何形式的伤害或损失
下载1374次
下载2411次
下载1981次
相关专题推荐
Google正式在Android官网发布Android
本套视频教程专为希望成为Android开发
本专题收集了android开发的一系列小工
Android目前已经占据了全球智能手机操
本套视频是传智播客3G-Android就业班
本专题精选了Android开发相关的电子书
本专题视频共有67集,是传智播客3G-A
安卓移动平台自2007年11月开放源码以
本课程使用Android 2.3.3平台进行开发
此视频实战内容由浅入深,从游戏开发
新浪微博Android客户端开发视频教程是
本视频由黑马程序员的张泽华老师录制
一大波Android源码来袭。本专题为And
本专题为张泽华老师教授的Android开发
UI设计则是指对软件的人机交互、操作
OpenGL ES (OpenGL for Embedded Sys
本周下载热点
意见或建议:
联系方式:
您已提交成功!感谢您的宝贵意见,我们会尽快处理android怎么访问天气webservice,用网上找的链接都不行啊 - 开源中国社区
当前访客身份:游客 [
当前位置:
做个天气预报的小测试用网上找的链接怎么不行,有做过的指导下。感激不尽!!
都是不行的!跟着网上例子做的。
11-13 19:27:10.545: W/System.err(29917): java.net.UnknownHostException: Unable to resolve host &.cn&: No address associated with hostname
11-13 19:27:10.545: W/System.err(29917): &at java.net.InetAddress.lookupHostByName(InetAddress.java:426)
11-13 19:27:10.545: W/System.err(29917): &at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
11-13 19:27:10.545: W/System.err(29917): &at java.net.InetAddress.getAllByName(InetAddress.java:220)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpConnection.&init&(HttpConnection.java:71)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpConnection.&init&(HttpConnection.java:50)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpEngine.connect(HttpEngine.java:303)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
11-13 19:27:10.545: W/System.err(29917): &at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
11-13 19:27:10.545: W/System.err(29917): &at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:46)
11-13 19:27:10.545: W/System.err(29917): &at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:68)
11-13 19:27:10.550: W/System.err(29917): &at com.testtv.core.WeatherActivity.getWeather(WeatherActivity.java:102)
11-13 19:27:10.550: W/System.err(29917): &at com.testtv.core.WeatherActivity$2$1.run(WeatherActivity.java:76) 11-13 19:27:10.550: W/System.err(29917): &at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
11-13 19:27:10.550: W/System.err(29917): &at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
11-13 19:27:10.550: W/System.err(29917): &at java.lang.Thread.run(Thread.java:856)
11-13 19:27:10.550: W/System.err(29917): Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
11-13 19:27:10.550: W/System.err(29917): &at libcore.io.Posix.getaddrinfo(Native Method) 11-13 19:27:10.550: W/System.err(29917): &at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
11-13 19:27:10.550: W/System.err(29917): &at java.net.InetAddress.lookupHostByName(InetAddress.java:411)
package com.testtv.
import java.io.UnsupportedEncodingE import java.util.concurrent.E import java.util.concurrent.E
import org.ksoap2.SoapE import org.ksoap2.serialization.SoapO import org.ksoap2.serialization.SoapSerializationE import org.ksoap2.transport.HttpTransportSE; import android.app.A import android.os.B import android.os.H import android.os.M import android.util.L import android.view.V import android.widget.B import android.widget.T
public class WeatherActivity extends Activity { &/** Called when the activity is first created. */ &private Button okB &/** Called when the activity is first created. */ &private static final String NAMESPACE = &&;
&// WebService地址 &private static String URL = &&; &private static final String METHOD_NAME = &getWeatherbyCityName&; &private static String SOAP_ACTION = &&; &private String weatherT &private SoapO & &private Handler webH &private final static String TAG = &WeatherActivity&; &private final static int SHOW_WEATHER=10; & & &private Executor webE &
&@Override &protected void onCreate(Bundle savedInstanceState) { &&// TODO Auto-generated method stub &&super.onCreate(savedInstanceState); &&setContentView(R.layout.weather); &&
&&&&&&& this.webHandler=new Handler() &&&&&&& { &&&@Override &&&public void handleMessage(Message msg) { &&&&// TODO Auto-generated method stub &&&&if(msg.what==SHOW_WEATHER) &&&&{ &&&&&try { &&&&&&parseWeather(detail); &&&&&} catch (UnsupportedEncodingException e) { &&&&&&// TODO Auto-generated catch block &&&&&&e.printStackTrace(); &&&&&} &&&&} &&&} &&&&&&& & &&&&&&& }; &&okButton = (Button) this.findViewById(R.id.btn_Search); &&okButton.setOnClickListener(new Button.OnClickListener() { &&&public void onClick(View v) { &&&&final String city = &北京&; &&&&if(webExcutor==null) &&&&{ &&&&&webExcutor=Executors.newFixedThreadPool(1); &&&&} &&&&webExcutor.execute(new Runnable() { &&&&& &&&&&public void run() { &&&&&&// TODO Auto-generated method stub &&&&&&getWeather(city); &&&&&} &&&&}); &&&}
&public void getWeather(String cityName) { &&try { &&&System.out.println(&rpc------&); &&&SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME); &&&System.out.println(&rpc& + rpc); &&&System.out.println(&cityName is & + cityName); &&&rpc.addProperty(&theCityName&, cityName);
&&&SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); &&&envelope.bodyOut = &&&envelope.dotNet = &&&envelope.setOutputSoapObject(rpc);
&&&HttpTransportSE ht = new HttpTransportSE(URL);
&&&// AndroidHttpTransport ht = new AndroidHttpTransport(URL); &&&ht.debug =
&&&ht.call(SOAP_ACTION, envelope); &&&// ht.call(null, envelope);
&&&// SoapObject result = (SoapObject)envelope.bodyIn; &&&// detail = (SoapObject) &&&// result.getProperty(&getWeatherbyCityNameResult&);
&&&detail = (SoapObject) envelope.getResponse();
&&&Log.d(TAG,& detail.toString()); &&& &&&Message msg = new Message(); &&&msg.what=SHOW_WEATHER; &&&webHandler.sendMessage(msg); //&&&Toast.makeText(this, detail.toString(), Toast.LENGTH_LONG).show(); &&&
&&& &&} catch (Exception e) { &&&e.printStackTrace(); &&} &}
&private void parseWeather(SoapObject detail) throws UnsupportedEncodingException { &&String date = detail.getProperty(6).toString(); &&weatherToday = &今天:& + date.split(&&)[0]; &&weatherToday = weatherToday + &\n天气:& + date.split(&&)[1]; &&weatherToday = weatherToday + &\n气温:& + detail.getProperty(5).toString(); &&weatherToday = weatherToday + &\n风力:& + detail.getProperty(7).toString() + &\n&; &&System.out.println(&weatherToday is & + weatherToday); &&Toast.makeText(this, weatherToday, Toast.LENGTH_LONG).show();
都是网上找的,大拿们速来救火!!&
共有4个答案
<span class="a_vote_num" id="a_vote_num_
大伙都说是嘛,,,,,是不是这服务要收费的?
<span class="a_vote_num" id="a_vote_num_
第一个地址打错了,是:
<span class="a_vote_num" id="a_vote_num_
1、&uses-permission android:name=&android.permission.INTERNET&/&
2、目标设备有无连接到网络:比如WiFi或这个移动网络。
<span class="a_vote_num" id="a_vote_num_
我也遇到了,第二点忽视了
更多开发者职位上
有什么技术问题吗?
类似的话题&&&&Android之Webservice详解与调用天气预报Webservice完整实例
&Android之Webservice详解与调用天气预报Webservice完整实例
Android之Webservice详解与调用天气预报Webservice完整实例
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
移动开发下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
Android之Webservice详解与调用天气预报Webservice完整实例
所需积分:2
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
Android之Webservice详解与调用天气预报Webservice完整实例
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员Android调用天气预报的WebService简单例子_小组_ThinkSAAS
Android调用天气预报的WebService简单例子
Android调用天气预报的WebService简单例子
一、获取并使用KSOAP包
在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService。PC版本的WebService库非常丰富,但这些对Android来说过于庞大。适合手机的WebService客户端的SDK有一些,比较常用的是KSOAP2。
KSOAP2 地址:/p/ksoap2-android/
我下载的最新的是: ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar
我在使用ksoap2-android时犯了一个低级错误:使用时报错误:The import org.ksoap2 cannot be resolved。
当时分析这个问题时一直以为是Eclipse出了问题,找了好多方法都不行,
实际是我下载的ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar文件是错误的导致的,走了弯路。
在 /p/ksoap2-android/wiki/HowToUse?tm=2 页面 通过鼠标右键链接另存为存的是同名的一个纯文本的Html文件。而不是我们想要的。
[url]/p/ksoap2-android/source/browse/m2-repo/com/google/code/ksoap2-android/ksoap2-android-assembly/2.5.4/ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar [/url]点 View raw file 才正确下载对应文件的。
选择我们的项目,右键菜单中 Build Path –& Add External Archives… 增加这个下载的包
增加好后,我们在 选择我们的项目,右键菜单中 Build Path –& Configure Build Path 的 Libraries 中可以看到下面图:
二,分以下几步来调用 WebService
1、指定 WebService 的命名空间和调用方法
import org.ksoap2.serialization.SoapO
private static final String NAMESPACE =".cn/";
private static final String METHOD_NAME ="getWeatherbyCityName";
SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);SoapObject类的第一个参数表示WebService的命名空间,可以从WSDL文档中找到WebService的命名空间。
第二个参数表示要调用的WebService方法名。
2、设置调用方法的参数值,如果没有参数,可以省略,设置方法的参数值的代码如下:
rpc.addProperty("theCityName","北京");要注意的是,addProperty方法的第1个参数虽然表示调用方法的参数名,但该参数值并不一定与服务端的WebService类中的方法参数名一致,只要设置参数的顺序一致即可。
3、生成调用Webservice方法的SOAP请求信息。
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut =
envelope.dotNet =
envelope.setOutputSoapObject(rpc);创建SoapSerializationEnvelope对象时需要通过SoapSerializationEnvelope类的构造方法设置SOAP协议的版本号。
该版本号需要根据服务端WebService的版本号设置。
在创建SoapSerializationEnvelope对象后,不要忘了设置SOAPSoapSerializationEnvelope类的bodyOut属性,
该属性的值就是在第一步创建的SoapObject对象。
4、创建HttpTransportsSE对象。
这里不要使用 AndroidHttpTransport ht = new AndroidHttpTransport(URL); 这是一个要过期的类
private static String URL =".cn/webservices/weatherwebservice.asmx";
HttpTransportSE ht = new HttpTransportSE(URL); ht.debug =5、使用call方法调用WebService方法
private static String SOAP_ACTION =".cn/getWeatherbyCityName";
ht.call(SOAP_ACTION, envelope);网上有人说这里的call的第一个参数为null,但是经过我的测试,null是不行的。
第2个参数就是在第3步创建的SoapSerializationEnvelope对象。
6、获得WebService方法的返回结果
有两种方法:
1、使用getResponse方法获得返回数据。
private SoapO
detail =(SoapObject) envelope.getResponse();2、使用 bodyIn 及 getProperty。
private SoapO
SoapObject result = (SoapObject)envelope.bodyIn;
detail = (SoapObject) result.getProperty("getWeatherbyCityNameResult");7、 这时候执行会出错,提示没有权限访问网络
需要修改 AndroidManifest.xml 文件,赋予相应权限
简单来说就是增加下面这行配置:&uses-permission android:name="android.permission.INTERNET"&&/uses-permission&
完整的 AndroidManifest.xml 文件 如下:
注:Android 中在代码中为了调试写了system.out.print()输出项
在菜单:Window--&show view--&other--&找到Android,选择Logcat 是可以看到输出的,
如果你想在一个单独的窗口看到system.out.print()的输出的话,可以在logcat界面点那个绿色的“+”好,
在Filter name 和 By log tag里面均填入System.out,这样的话你就能在单独的界面查看system.out.print()的输出了!!
package com.amaker.
import android.app.A
import android.os.B
import java.io.UnsupportedEncodingE
import android.app.A
import android.os.B
import android.view.V
import android.widget.B
import android.widget.T
import org.ksoap2.SoapE
import org.ksoap2.serialization.SoapO
import org.ksoap2.serialization.SoapSerializationE
//import org.ksoap2.transport.AndroidHttpT
import org.ksoap2.transport.HttpTransportSE;
public class MyWeatherActivity extends Activity {
private Button okB
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
okButton = (Button) this.findViewById(R.id.btn_Search);
okButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
String city ="北京";
getWeather(city);
private static final String NAMESPACE =".cn/";
// WebService地址
private static String URL =".cn/webservices/weatherwebservice.asmx";
private static final String METHOD_NAME ="getWeatherbyCityName";
private static String SOAP_ACTION =".cn/getWeatherbyCityName";
private String weatherT
private SoapO
public void getWeather(String cityName) {
System.out.println("rpc------");
SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
System.out.println("rpc"+ rpc);
System.out.println("cityName is"+ cityName);
rpc.addProperty("theCityName", cityName);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut =
envelope.dotNet =
envelope.setOutputSoapObject(rpc);
HttpTransportSE ht = new HttpTransportSE(URL);
//AndroidHttpTransport ht = new AndroidHttpTransport(URL);
ht.debug =
ht.call(SOAP_ACTION, envelope);
//ht.call(null, envelope);
//SoapObject result = (SoapObject)envelope.bodyIn;
//detail = (SoapObject) result.getProperty("getWeatherbyCityNameResult");
detail =(SoapObject) envelope.getResponse();
//System.out.println("result"+ result);
System.out.println("detail"+ detail);
Toast.makeText(this, detail.toString(), Toast.LENGTH_LONG).show();
parseWeather(detail);
} catch (Exception e) {
e.printStackTrace();
private void parseWeather(SoapObject detail)
throws UnsupportedEncodingException {
String date = detail.getProperty(6).toString();
weatherToday ="今天:"+ date.split("")[0];
weatherToday = weatherToday +"n天气:"+ date.split("")[1];
weatherToday = weatherToday +"n气温:"
+ detail.getProperty(5).toString();
weatherToday = weatherToday +"n风力:"
+ detail.getProperty(7).toString() +"n";
System.out.println("weatherToday is"+ weatherToday);
Toast.makeText(this, weatherToday, Toast.LENGTH_LONG).show();
AndroidManifest.xml:
&?xml version="1.0"encoding="utf-8"?&
&manifest xmlns:android="/apk/res/android"
package="com.amaker.weather"
android:versionCode="1"
android:versionName="1.0"&
&uses-sdk android:minSdkVersion="8"/&
&uses-permission android:name="android.permission.INTERNET"&&/uses-permission&
&application android:icon="@drawable/icon"android:label="@string/app_name"&
&activity android:name=".MyWeatherActivity"
android:label="@string/app_name"&
&intent-filter&
&action android:name="android.intent.action.MAIN"/&
&category android:name="android.intent.category.LAUNCHER"/&
&/intent-filter&
&/activity&
&/application&
&/manifest&
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
官方1群:【已满】
让ThinkSAAS更好,把建议拿来。
关注微信,更好学习android怎么访问天气webservice,用网上找的链接都不行_百度知道
android怎么访问天气webservice,用网上找的链接都不行
我有更好的答案
name=&quot、目标设备有无连接到网络.INTERNET&/uses-permission android:比如WiFi或这个移动网络;&gt: 检查2点请注意; 2、&lt.permission: 1
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 java访问webservice 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信