189 8069 5689

android天气预报,android天气预报实训报告

android 做一个天气预报的步骤

安卓编程设计很多方面,非常复杂,需要系统的学习才可以,这里以一个简单的天气预报app编程为例:

我们拥有十年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都网站建设、网站设计、微信开发、重庆小程序开发公司手机网站制作设计HTML5建站、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。

public class WebServiceUtil

{

// 定义Web Service的命名空间

static final String SERVICE_NS = "";

// 定义Web Service提供服务的URL

static final String SERVICE_URL = "";

public static List getProvinceList()

{

// 需要调用的方法名(获得本天气预报Web Services支持的洲、国内外省份和城市信息)

String methodName = "getRegionProvince";

// 创建HttpTransportSE传输对象

HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);

httpTranstation.debug = true;

// 使用SOAP1.1协议创建Envelop对象

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(

SoapEnvelope.VER11);

// 实例化SoapObject对象

SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);

envelope.bodyOut = soapObject;

// 设置与.Net提供的Web Service保持较好的兼容性

envelope.dotNet = true;

try

{

// 调用Web Service

httpTranstation.call(SERVICE_NS + methodName, envelope);

if (envelope.getResponse() != null)

{

// 获取服务器响应返回的SOAP消息

SoapObject result = (SoapObject) envelope.bodyIn;

SoapObject detail = (SoapObject) result.getProperty(methodName

+ "Result");

// 解析服务器响应的SOAP消息。

return parseProvinceOrCity(detail);

}

} catch (Exception e)

{

e.printStackTrace();

}

return null;

}

public static List getCityListByProvince(String province)

{

// 需要调用的方法名(获得本天气预报Web Services支持的城市信息,根据省份查询城市集合:带参数)

String methodName = "getSupportCityString";

HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);

httpTranstation.debug = true;

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(

SoapEnvelope.VER11);

SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);

soapObject.addProperty("theRegionCode", province);

envelope.bodyOut = soapObject;

envelope.dotNet = true;

try

{

// 调用Web Service

httpTranstation.call(SERVICE_NS + methodName, envelope);

if (envelope.getResponse() != null)

{

// 获取服务器响应返回的SOAP消息

SoapObject result = (SoapObject) envelope.bodyIn;

SoapObject detail = (SoapObject) result.getProperty(methodName

+ "Result");

// 解析服务器响应的SOAP消息。

return parseProvinceOrCity(detail);

}

} catch (Exception e)

{

e.printStackTrace();

}

return null;

}

private static List parseProvinceOrCity(SoapObject detail)

{

ArrayList result = new ArrayList();

for (int i = 0; i detail.getPropertyCount(); i++)

{

String str = detail.getProperty(i).toString();

// 解析出每个省份

result.add(str.split(",")[0]);

}

return result;

}

public static SoapObject getWeatherByCity(String cityName)

{

// 根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数

String methodName = "getWeather";

HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);

httpTranstation.debug = true;

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(

SoapEnvelope.VER11);

SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);

soapObject.addProperty("theCityCode", cityName);

envelope.bodyOut = soapObject;

envelope.dotNet = true;

try

{

// 调用Web Service

httpTranstation.call(SERVICE_NS + methodName, envelope);

if (envelope.getResponse() != null)

{

// 获取服务器响应返回的SOAP消息

SoapObject result = (SoapObject) envelope.bodyIn;

SoapObject detail = (SoapObject) result.getProperty(methodName

+ "Result");

// 解析服务器响应的SOAP消息。

return detail;

}

} catch (Exception e)

{

e.printStackTrace();

}

return null;

}

}

android天气预报app用到四大组件了吗

一个Android 天气预报应用程序,通常由Activity、Intent Receiver、Service、Content Provider 四种功能组件构成。但是,并不是每一个Android 应用程序都需要用到这四种功能组件,而是只需上述四种功能组件的某些组合。

android 如何实现获取天气预报信息?

方法步骤(以安卓5.0为例)

一、打开GPS

二、点主屏的“天气”图标

三、点右上角三个点的图标

四、点“设定”

五、在下图右侧的三个红圈处打上钩,然后点“自动刷新”。

六、根据自己的需要选择自动刷新的时间

七、点“确定”退出

八、可以随时点刷新图标来手动刷新天气。

九、提示

1.适时刷新天气需要开启GPS定位。

2.在没有WIFI的地方刷新天气需要消耗一定的流量,刷新频率越高,消耗流量越多。

android怎样使用天气预报接口 实现天气预报

使用搜索引擎可以得到很多的天气预报接口,这里以某个api为例

参数为city=城市名称

尝试获取南昌的天气预报

南昌

得到下面xml数据

?xml version="1.0" encoding="utf-8"?

resp

city南昌/city

updatetime16:55/updatetime

wendu5/wendu

fengli3级/fengli

shidu90%/shidu

fengxiang北风/fengxiang

sunrise_106:54/sunrise_1

sunset_117:19/sunset_1

sunrise_2/

sunset_2/

environment

aqi26/aqi

pm2513/pm25

suggest各类人群可自由活动/suggest

quality优/quality

MajorPollutants/

o344/o3

co1/co

pm1014/pm10

so24/so2

no227/no2

time16:00:00/time

/environment

yesterday

date_14日星期五/date_1

high_1高温 11℃/high_1

low_1低温 7℃/low_1

day_1

type_1阴/type_1

fx_1无持续风向/fx_1

fl_1微风/fl_1

/day_1

night_1

type_1小到中雨/type_1

fx_1北风/fx_1

fl_13-4级/fl_1

/night_1

/yesterday

forecast

weather

date5日星期六/date

high高温 7℃/high

low低温 5℃/low

day

type中到大雨/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type小到中雨/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

weather

date6日星期天/date

high高温 10℃/high

low低温 5℃/low

day

type阴/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type多云/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

weather

date7日星期一/date

high高温 13℃/high

low低温 6℃/low

day

type多云/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type晴/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

weather

date8日星期二/date

high高温 13℃/high

low低温 7℃/low

day

type晴/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type多云/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

weather

date9日星期三/date

high高温 13℃/high

low低温 10℃/low

day

type小雨/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type小雨/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

/forecast

zhishus

zhishu

name晨练指数/name

value不宜/value

detail有较强降水,请避免户外晨练,建议在室内做适当锻炼,保持身体健康。/detail

/zhishu

zhishu

name舒适度/name

value较舒适/value

detail白天有雨,人们会感到有些凉意,但大部分人完全可以接受。/detail

/zhishu

zhishu

name穿衣指数/name

value较冷/value

detail建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。/detail

/zhishu

zhishu

name感冒指数/name

value极易发/value

detail将有一次强降温过程,天气寒冷,且空气湿度较大,极易发生感冒,请特别注意增加衣服保暖防寒。/detail

/zhishu

zhishu

name晾晒指数/name

value不宜/value

detail有较强降水,不适宜晾晒。若需要晾晒,请在室内准备出充足的空间。/detail

/zhishu

zhishu

name旅游指数/name

value较不宜/value

detail天气稍凉,有微风,同时有有较强降水,会给出行产生很多麻烦,建议好还是多选择在室内活动!。/detail

/zhishu

zhishu

name紫外线强度/name

value最弱/value

detail属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。/detail

/zhishu

zhishu

name洗车指数/name

value不宜/value

detail不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。/detail

/zhishu

zhishu

name运动指数/name

value较不宜/value

detail有较强降水,建议您选择在室内进行健身休闲运动。/detail

/zhishu

zhishu

name约会指数/name

value不适宜/value

detail较强降水天气会给室外约会增添许多麻烦,尽量不要外出约会,最好在室内促膝谈心。/detail

/zhishu

zhishu

name雨伞指数/name

value带伞/value

detail有较强降水,您在外出的时候一定要带雨伞,以免被雨水淋湿。/detail

/zhishu

/zhishus

/resp

得到数据后使用XML解析数据即可,最好是建立一个实体类来存储数据

下面是使用DOM方式解析部分数据代码

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

//is是网络连接得到的输入流

Document doc = builder.parse(is);

if(doc==null) throw new Exception();

Element element = doc.getDocumentElement();

NodeList childList = element.getChildNodes();

for(int i=0; ichildList.getLength(); i++){

Element e = (Element) childList.item(i);

String tag = e.getTagName();

String text = e.getTextContent();

if("city".equals(tag)){

//城市

}else if("updatetime".equals(tag)){

//更新时间

}else if("wendu".equals(tag)){

//即时温度

}else if("fengli".equals(tag)){

//风力

}else if("shidu".equals(tag)){

//湿度

}else if("fengxiang".equals(tag)){

//风向

}

}

android 高德2.10如何获取天气预报啊

使用搜索引擎可以得到很多的天气预报接口,这里以某个api为例

参数为city=城市名称

尝试获取南昌的天气预报

南昌

得到下面xml数据

?xml version="1.0" encoding="utf-8"?

resp

city南昌/city

updatetime16:55/updatetime

wendu5/wendu

fengli3级/fengli

shidu90%/shidu

fengxiang北风/fengxiang

sunrise_106:54/sunrise_1

sunset_117:19/sunset_1

sunrise_2/

sunset_2/

environment

aqi26/aqi

pm2513/pm25

suggest各类人群可自由活动/suggest

quality优/quality

MajorPollutants/

o344/o3

co1/co

pm1014/pm10

so24/so2

no227/no2

time16:00:00/time

/environment

yesterday

date_14日星期五/date_1

high_1高温 11℃/high_1

low_1低温 7℃/low_1

day_1

type_1阴/type_1

fx_1无持续风向/fx_1

fl_1微风/fl_1

/day_1

night_1

type_1小到中雨/type_1

fx_1北风/fx_1

fl_13-4级/fl_1

/night_1

/yesterday

forecast

weather

date5日星期六/date

high高温 7℃/high

low低温 5℃/low

day

type中到大雨/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type小到中雨/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

weather

date6日星期天/date

high高温 10℃/high

low低温 5℃/low

day

type阴/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type多云/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

weather

date7日星期一/date

high高温 13℃/high

low低温 6℃/low

day

type多云/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type晴/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

weather

date8日星期二/date

high高温 13℃/high

low低温 7℃/low

day

type晴/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type多云/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

weather

date9日星期三/date

high高温 13℃/high

low低温 10℃/low

day

type小雨/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/day

night

type小雨/type

fengxiang无持续风向/fengxiang

fengli微风级/fengli

/night

/weather

/forecast

zhishus

zhishu

name晨练指数/name

value不宜/value

detail有较强降水,请避免户外晨练,建议在室内做适当锻炼,保持身体健康。/detail

/zhishu

zhishu

name舒适度/name

value较舒适/value

detail白天有雨,人们会感到有些凉意,但大部分人完全可以接受。/detail

/zhishu

zhishu

name穿衣指数/name

value较冷/value

detail建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。/detail

/zhishu

zhishu

name感冒指数/name

value极易发/value

detail将有一次强降温过程,天气寒冷,且空气湿度较大,极易发生感冒,请特别注意增加衣服保暖防寒。/detail

/zhishu

zhishu

name晾晒指数/name

value不宜/value

detail有较强降水,不适宜晾晒。若需要晾晒,请在室内准备出充足的空间。/detail

/zhishu

zhishu

name旅游指数/name

value较不宜/value

detail天气稍凉,有微风,同时有有较强降水,会给出行产生很多麻烦,建议好还是多选择在室内活动!。/detail

/zhishu

zhishu

name紫外线强度/name

value最弱/value

detail属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。/detail

/zhishu

zhishu

name洗车指数/name

value不宜/value

detail不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。/detail

/zhishu

zhishu

name运动指数/name

value较不宜/value

detail有较强降水,建议您选择在室内进行健身休闲运动。/detail

/zhishu

zhishu

name约会指数/name

value不适宜/value

detail较强降水天气会给室外约会增添许多麻烦,尽量不要外出约会,最好在室内促膝谈心。/detail

/zhishu

zhishu

name雨伞指数/name

value带伞/value

detail有较强降水,您在外出的时候一定要带雨伞,以免被雨水淋湿。/detail

/zhishu

/zhishus

/resp

得到数据后使用XML解析数据即可,最好是建立一个实体类来存储数据

下面是使用DOM方式解析部分数据代码

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

//is是网络连接得到的输入流

Document doc = builder.parse(is);

if(doc==null) throw new Exception();

Element element = doc.getDocumentElement();

NodeList childList = element.getChildNodes();

for(int i=0; ichildList.getLength(); i++){

Element e = (Element) childList.item(i);

String tag = e.getTagName();

String text = e.getTextContent();

if("city".equals(tag)){

//城市

}else if("updatetime".equals(tag)){

//更新时间

}else if("wendu".equals(tag)){

//即时温度

}else if("fengli".equals(tag)){

//风力

}else if("shidu".equals(tag)){

//湿度

}else if("fengxiang".equals(tag)){

//风向

}

}


分享标题:android天气预报,android天气预报实训报告
转载来源:http://cdxtjz.com/article/phsoso.html

其他资讯