当前位置:首页 » 安卓系统 » androidjson天气预报

androidjson天气预报

发布时间: 2022-07-08 20:43:32

‘壹’ Android程序设计思路的问题-------天气预报

判断软件是否为首次运行只要在运行软件的时候来读取配置文件,如果不存在配置文件,则是首次运行,让用户填写信息后生成配置文件,如果配置文件已经存在则不是首次运行,直接读取城市就行了
思路为:
如果配置文件存在:
读取配置信息,#比如"城市"
否则:
弹出输入框("第一次会用本软件请设置您所在城市")
写入配置文件

没研究过安卓开发,所以只能在思路上帮助你,语法上你自己琢磨一下吧

‘贰’ 怎么用json调用天气预报web service

那要看webservice是否返回JSON的格式,然后根据JSON解析需要的信息

~~~~~~~~~~~~~~~~~

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

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

http://wthrcdn.etouch.cn/WeatherApi

参数为city=城市名称

尝试获取南昌的天气预报

http://wthrcdn.etouch.cn/WeatherApi?city=南昌


得到下面xml数据

java"><?xmlversion="1.0"encoding="utf-8"?>

<resp>
<city>南昌</city>
<updatetime>16:55</updatetime>
<wen>5</wen>
<fengli>3级</fengli>
<shi>90%</shi>
<fengxiang>北风</fengxiang>
<sunrise_1>06:54</sunrise_1>
<sunset_1>17:19</sunset_1>
<sunrise_2/>
<sunset_2/>
<environment>
<aqi>26</aqi>
<pm25>13</pm25>
<suggest>各类人群可自由活动</suggest>
<quality>优</quality>
<MajorPollutants/>
<o3>44</o3>
<co>1</co>
<pm10>14</pm10>
<so2>4</so2>
<no2>27</no2>
<time>16:00:00</time>
</environment>
<yesterday>
<date_1>4日星期五</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_1>3-4级</fl_1>
</night_1>
</yesterday>
<forecast>
<weather>
<date>5日星期六</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>
<date>6日星期天</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>
<date>7日星期一</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>
<date>8日星期二</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>
<date>9日星期三</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>
<shus>
<shu>
<name>晨练指数</name>
<value>不宜</value>
<detail>有较强降水,请避免户外晨练,建议在室内做适当锻炼,保持身体健康。</detail>
</shu>
<shu>
<name>舒适度</name>
<value>较舒适</value>
<detail>白天有雨,人们会感到有些凉意,但大部分人完全可以接受。</detail>
</shu>
<shu>
<name>穿衣指数</name>
<value>较冷</value>
<detail>建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。</detail>
</shu>
<shu>
<name>感冒指数</name>
<value>极易发</value>
<detail>将有一次强降温过程,天气寒冷,且空气湿度较大,极易发生感冒,请特别注意增加衣服保暖防寒。</detail>
</shu>
<shu>
<name>晾晒指数</name>
<value>不宜</value>
<detail>有较强降水,不适宜晾晒。若需要晾晒,请在室内准备出充足的空间。</detail>
</shu>
<shu>
<name>旅游指数</name>
<value>较不宜</value>
<detail>天气稍凉,有微风,同时有有较强降水,会给出行产生很多麻烦,建议好还是多选择在室内活动!。</detail>
</shu>
<shu>
<name>紫外线强度</name>
<value>最弱</value>
<detail>属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。</detail>
</shu>
<shu>
<name>洗车指数</name>
<value>不宜</value>
<detail>不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。</detail>
</shu>
<shu>
<name>运动指数</name>
<value>较不宜</value>
<detail>有较强降水,建议您选择在室内进行健身休闲运动。</detail>
</shu>
<shu>
<name>约会指数</name>
<value>不适宜</value>
<detail>较强降水天气会给室外约会增添许多麻烦,尽量不要外出约会,最好在室内促膝谈心。</detail>
</shu>
<shu>
<name>雨伞指数</name>
<value>带伞</value>
<detail>有较强降水,您在外出的时候一定要带雨伞,以免被雨水淋湿。</detail>
</shu>
</shus>
</resp>


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

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

DocumentBuilderbuilder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
//is是网络连接得到的输入流
Documentdoc=builder.parse(is);
if(doc==null)thrownewException();

Elementelement=doc.getDocumentElement();
NodeListchildList=element.getChildNodes();
for(inti=0;i<childList.getLength();i++){
Elemente=(Element)childList.item(i);
Stringtag=e.getTagName();
Stringtext=e.getTextContent();
if("city".equals(tag)){
//城市
}elseif("updatetime".equals(tag)){
//更新时间
}elseif("wen".equals(tag)){
//即时温度
}elseif("fengli".equals(tag)){
//风力
}elseif("shi".equals(tag)){
//湿度
}elseif("fengxiang".equals(tag)){
//风向
}
}

‘肆’ ​android软件开发:中国气象局api接口(显示4、5天的天气),能实际有用的,日期也得正确

中国国家气象局天气预报接口总共提供了三个:

http://www.weather.com.cn/data/sk/101010100.html

http://www.weather.com.cn/data/cityinfo/101010100.html

http://m.weather.com.cn/data/101010100.html

最详细的信息来自第三个接口。上面url中的101010100是城市代码,这里是北京的城市代码。只需要改变城市代码,就可以得到所在城市的天气信息。笔者在福州,所以选择的城市代码是福州101230101。
在浏览器上输入url:http://m.weather.com.cn/data/101230101.html得到信息,天气信息是json的数据格式,数据如

{"weatherinfo":{"city":"福州","city_en":"fuzhou","date_y":"2012年5月14日","date":"","week":"星期一","fchh":"08","cityid":"101230101","temp1":"29℃~23℃","temp2":"26℃~20℃","temp3":"24℃~20℃","temp4":"25℃~20℃","temp5":"24℃~21℃","temp6":"25℃~22℃","tempF1":"84.2℉~73.4℉","tempF2":"78.8℉~68℉","tempF3":"75.2℉~68℉","tempF4":"77℉~68℉","tempF5":"75.2℉~69.8℉","tempF6":"77℉~71.6℉","weather1":"阵雨转中雨","weather2":"中雨转小雨","weather3":"小雨","weather4":"小雨","weather5":"小雨转阵雨","weather6":"阵雨转小雨","img1":"3","img2":"8","img3":"8","img4":"7","img5":"7","img6":"99","img7":"7","img8":"99","img9":"7","img10":"3","img11":"3","img12":"7","img_single":"3","img_title1":"阵雨","img_title2":"中雨","img_title3":"中雨","img_title4":"小雨","img_title5":"小雨","img_title6":"小雨","img_title7":"小雨","img_title8":"小雨","img_title9":"小雨","img_title10":"阵雨","img_title11":"阵雨","img_title12":"小雨","img_title_single":"阵雨","wind1":"微风","wind2":"微风","wind3":"微风","wind4":"微风","wind5":"微风","wind6":"微风","fx1":"微风","fx2":"微风","fl1":"小于3级","fl2":"小于3级","fl3":"小于3级","fl4":"小于3级","fl5":"小于3级","fl6":"小于3级","index":"热","index_d":"天气较热,建议着短裙、短裤、短套装、T恤等夏季服装。年老体弱者宜着长袖衬衫和单裤。","index48":"暖","index48_d":"较凉爽,建议着长袖衬衫加单裤等春秋过渡装。年老体弱者宜着针织长袖衬衫、马甲和长裤。","index_uv":"弱","index48_uv":"最弱","index_xc":"不宜","index_tr":"适宜","index_co":"较不舒适","st1":"27","st2":"21","st3":"24","st4":"18","st5":"22","st6":"18","index_cl":"较不宜","index_ls":"不太适宜","index_ag":"不易发"}}[/code]
我们可以解析json数据去得到自己想用的天气信息。
天气信息解释:
{
"weatherinfo":{
<!--基本信息-->
"city":"福州",
"city_en":"fuzhou",
"date_y":"2012年5月14日",
"date":"",
"week":"星期一",
"fchh":"08",
"cityid":"101230101",
<!--从今天开始到第六天的每天的天气情况,这里的温度是摄氏温度-->
"temp1":"29℃~23℃","temp2":"26℃~20℃","temp3":"24℃~20℃","temp4":"25℃~20℃","temp5":"24℃~21℃","temp6":"25℃~22℃",
<!--从今天开始到第六天的每天的天气情况,这里的温度是华氏温度-->
"tempF1":"84.2℉~73.4℉","tempF2":"78.8℉~68℉","tempF3":"75.2℉~68℉","tempF4":"77℉~68℉","tempF5":"75.2℉~69.8℉","tempF6":"77℉~71.6℉",
<!--天气描述-->
"weather1":"阵雨转中雨","weather2":"中雨转小雨","weather3":"小雨","weather4":"小雨","weather5":"小雨转阵雨","weather6":"阵雨转小雨",
<!--天气描述图片序号-->
"img1":"3","img2":"8","img3":"8","img4":"7","img5":"7","img6":"99","img7":"7","img8":"99","img9":"7","img10":"3","img11":"3","img12":"7","img_single":"3",
<!--图片名称-->
"img_title1":"阵雨","img_title2":"中雨","img_title3":"中雨","img_title4":"小雨","img_title5":"小雨","img_title6":"小雨","img_title7":"小雨","img_title8":"小雨","img_title9":"小雨","img_title10":"阵雨","img_title11":"阵雨","img_title12":"小雨","img_title_single":"阵雨",
<!--风速描述-->
"wind1":"微风","wind2":"微风","wind3":"微风","wind4":"微风","wind5":"微风","wind6":"微风","fx1":"微风","fx2":"微风",
<!--风速级别描述-->
"fl1":"小于3级","fl2":"小于3级","fl3":"小于3级","fl4":"小于3级","fl5":"小于3级","fl6":"小于3级",
<!--今天穿衣指数-->
"index":"热",
"index_d":"天气较热,建议着短裙、短裤、短套装、T恤等夏季服装。年老体弱者宜着长袖衬衫和单裤。",
<!--48小时穿衣指数-->
"index48":"暖","index48_d":"较凉爽,建议着长袖衬衫加单裤等春秋过渡装。年老体弱者宜着针织长袖衬衫、马甲和长裤。",
<!--紫外线及48小时紫外线-->
"index_uv":"弱","index48_uv":"最弱",
<!--洗车-->
"index_xc":"不宜",
<!--旅游-->
"index_tr":"适宜",、
<!--舒适指数-->
"index_co":"较不舒适",
"st1":"27","st2":"21","st3":"24","st4":"18","st5":"22","st6":"18",
<!--晨练-->
"index_cl":"较不宜",
<!--晾晒-->
"index_ls":"不太适宜",
<!--过敏-->
"index_ag":"不易发"
}
}

‘伍’ android 如何实现获取天气预报信息

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

一、打开GPS

九、提示

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

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

‘陆’ android 做一个天气预报的步骤

这些问题还是建议你去其他专业的平台去问,那些csdn有很多大神在,他们会详细专业一点的回答道你,我的水平也就只是做过课程设计的而已,一般的步骤大概是规划好基础模型(就是要做出的基本功能)--做好框架控件那些(软件的话,我当时是用AS来做的)--然后就实现页面的跳转连接--最后就关联后台数据(这个可以说核心了,毕竟天气预报就是需要数据,实时更新的那种)

‘柒’ json解析天气预报虚拟机可以获取数据,手机不能获取是什么原因

1.“json解析天气预报”
json只是个数据格式,所以你这种说法就有误。
建议去看:
【整理】什么是JSON+如何处理JSON字符串

2.“虚拟机可以获取数据”
你指的是android虚拟机?
那是因为你虚拟机中的网络,是可用的。

3.“手机不能获取”
可能是:
(1)手机网络不正常
很可能是此问题。
办法:
找个手机,是开了wifi,并且网络速度快,稳定,然后再去测试。

(2)天气预报网站,对于外界访问其内容,做了一定限制
比如检测出你是移动端,而禁止你访问
此种可能性较低。
办法:
试着添加referer等header去规避此限制。

(此处不给贴地址,请自己用google搜标题,即可找到帖子地址)

‘捌’ 如何通过JSONP获取天气预报数据

$(document).ready(function(){
//天气
$.getJSON("http://query.yahooapis.com/v1/public/yql",{
q:"select*fromjsonwhereurl="http://m.weather.com.cn/atad/101190101.html"",
format:"json"
},function(data){
var$content=$("#content")
if(data.query.results){
varweatherinfo=data.query.results.weatherinfo;
//console.log(weatherinfo);
varweek=["星期一","星期二","星期三","星期四","星期五","星期六","星期天","星期一","星期二"];
varweek_tomorrow="";
varweek_tdat="";
varweek_today=weatherinfo.week;
varindex=$.inArray(week_today,week);
week_tomorrow=week[index+1];
week_tdat=week[index+2];
$(".today.location").text(weatherinfo.city);
}else{
$(".todayp:eq(1)").text("获取数据失败");
}
});


});

http://m.weather.com.cn/atad/101190101.html

‘玖’ 【Weather Forecast】用Eclipse给Android写一个简单的天气预报app,求助功能部分,xml布局没问题

如果你要天气预报JSON解析的接口,我可以给你,但是要做出你上边这些功能。那还是算了吧。

‘拾’ 编一个android的简单天气预报程序大概要用到哪些类都是干什么的可以简单说一下么

我可能会用到这几个类:

  1. 天气数据定义,比如晴天阴天,风向,风力,湿度,温度等。

  2. 网络请求和数据解析,因为功能比较简单,所以可以考虑放在一个类里。

  3. 界面类,简单的就只有一个activity好了,对应一些简单的功能,刷新天气之类的。

热点内容
C语言预编译的例子 发布:2025-04-07 07:12:27 浏览:756
软件加密破解 发布:2025-04-07 07:04:34 浏览:835
乌合之众中央编译出版社百度网盘 发布:2025-04-07 06:53:12 浏览:804
美颜算法磨皮 发布:2025-04-07 06:38:37 浏览:4
手机视频源码下载 发布:2025-04-07 06:34:21 浏览:739
安卓手机投屏到电视上怎么切换 发布:2025-04-07 06:22:02 浏览:378
支票密码多少位 发布:2025-04-07 06:16:09 浏览:282
php观察 发布:2025-04-07 06:16:06 浏览:867
累不存储 发布:2025-04-07 06:09:42 浏览:364
pythonos删除文件 发布:2025-04-07 05:59:02 浏览:366