2015-10-8/9 weather

接上次的网络编程,这次学习两个天气APP的写法,学习和对比;

一:Cool Weather


1、activity包用于存放所有活动相关的代码

(遍历省市县数据的活动;从 ChooseAreaActivity跳转到 WeatherActivity)

2、db包用于存放所有数据库相关的代码

CoolWeatherOpenHelper类存放建表语句和将建表语句放到代码中;

CoolWeatherDB类,这个类将会把一些常用的数据库操作封装起来,以方便我们后面使用,是一个单例类,我们将它的构造方法私有化,并提供了一个getInstance()方法来       获取 CoolWeatherDB 的实例,这样就可以保证全局范围内只会有一个CoolWeatherDB的实例;接下来我们在CoolWeatherDB中提供了六组方法,分别用于存储省份数据、     读取所有省份数据、存储城市数据、读取某省内所有城市数据、存储县数据、读取某市内所有县的数据,有了这几个方法,我们后面很多的数据库操作都将会变得非常简单)

3、model 包用于存放所有模型相关的代码

(存放三个表对应的三个实体类)

4、receiver 包用于存放所有广播接收器相关的代码,

8小时后就应该执行到 AutoUpdateReceiver的 onReceive()方法中了,在receiver包下新建 AutoUpdateReceiver继承自BroadcastReceiver

本来已经完整了,但是存在bug使得无法更改城市和刷新天气,因此加上4,5两点进行标志位等的通知和转换,达到切换城市和实时更新天气

5、service包用于存放所有服务相关的代码,

保证用户每次打开软件时看到的都是最新的天气信息,就需要创建一个长期在后台运行的定时任务service包下新建一个 AutoUpdateService继承自Service,加入后台自动更     新天气的功能;在 onStartCommand()方法中先是开启了一个子线程,然后在子线程中调用updateWeather()方法来更新天气,我们仍然会将服务器返回的天气数据交Utility       的handleWeatherResponse()方法去处理,这样就可以把最新的天气信息存储到 SharedPreferences文件中;将时间间隔设置为 8小时;在4中的在 onReceive()方法中再次     去启动 AutoUpdateService,就可以实现后台定时更新的功能了。不过,我们还需要在代码某处去激活 AutoUpdateService 这个服务才行,修改WeatherActivity中的代码,在     showWeather()方法的最后加入启动 AutoUpdateService这个服务的代码,这样只要一旦选中了某个城市并成功更新天气之后,AutoUpdateService就会一直在后台运行,并       保证每8小时更新一次天气;

6、util包用于存放所有工具相关的代码

全国所有省市县的数据都是从服务器端获取到的,因此这里和服务器的交互是必不可少的;HttpUtil类中使用到了 HttpCallbackListener 接口来回调服务返回的结果,因此 我们还需要在util包下添加这个接口;服务器返回的省市县数据都是“代号|城市,代号|城市”这种格式的,所以我们最好再提供一个工具类来解析和处理这种数据,在 util包下新建一个Utility类:提 供 了 handleProvincesResponse() 、 handleCitiesResponse() 、handleCountiesResponse()这三个方法解析的规则 就是先按逗号分隔,再按单竖线分隔,接着将解析出来的数据设置到实体类中,最后调用CoolWeatherDB中的三个 save()方法将数据存储到相应的表中;还需要在Utility类中添加几个方法,用于解析和处理服务返回的JSON数据并将解析出的数据存储到本地,返回的所有天气信息存储到SharedPreferences文件中);


待更新。。。

二、MyWeather


烦得很,里面还要设计web service里面的SOAP,.NET,服务器等衔接知识,看不懂暂时


最近好迷茫,迷茫的力量真可怕发火



cd C:\Program Files\FlightGear fgfs --fg-root=C:\Program Files\FlightGear\data --aircraft=ufo --in-air --fdm=null --telnet=5501 --telnet=5502 --telnet=5503 --disable-ai-traffic --disable-real-weather-fetch --disable-random-objects --disable-terrasync --disable-clouds --disable-sound --disable-panel --disable-hud --disable-specular-highlight --timeofday=noon --prop:/sim/rendering/multi-sample-buffers=1 --prop:/sim/rendering/multi-samples=2 --prop:/sim/rendering/draw-mask-clouds=false --prop:/sim/rendering/draw-mask-terrain=true --prop:/sim/rendering/draw-mask-objects=true --prop:/sim/rendering/draw-mask-lights=true --prop:/sim/rendering/draw-mask-internal=true --prop:/sim/rendering/draw-mask-cockpit=true --prop:/sim/rendering/draw-mask-effects=true --prop:/sim/rendering/draw-mask-overlay=true --prop:/sim/rendering/draw-mask-world=true --prop:/sim/rendering/draw-mask-panel=true --prop:/sim/rendering/draw-mask-vr=true --prop:/sim/rendering/draw-mask-2d=true --prop:/sim/rendering/draw-mask-3d=true --prop:/sim/rendering/draw-mask-sky=true --prop:/sim/rendering/draw-mask-shadows=true --prop:/sim/rendering/draw-mask-cabin=true --prop:/sim/rendering/draw-mask-weather=true --prop:/sim/rendering/draw-mask-stereo=true --prop:/sim/rendering/draw-mask-internal-cockpit=true --prop:/sim/rendering/draw-mask-internal-windows=true --prop:/sim/rendering/draw-mask-internal-instruments=true --prop:/sim/rendering/draw-mask-internal-overlay=true --prop:/sim/rendering/draw-mask-internal-effects=true --prop:/sim/rendering/draw-mask-internal-lights=true --prop:/sim/rendering/draw-mask-internal-world=true --prop:/sim/rendering/draw-mask-internal-panel=true --prop:/sim/rendering/draw-mask-internal-3d=true --prop:/sim/rendering/draw-mask-internal-sky=true --prop:/sim/rendering/draw-mask-internal-cabin=true --prop:/sim/rendering/draw-mask-internal-weather=true --prop:/sim/rendering/draw-mask-internal-stereo=true --prop:/sim/rendering/draw-mask-internal-shadow=true --prop:/sim/rendering/draw-mask-internal-stall=true --prop:/sim/rendering/draw-mask-internal-aoa=true --prop:/sim/rendering/draw-mask-internal-thermal=false --prop:/sim/rendering/draw-mask-internal-ice=false --prop:/sim/rendering/draw-mask-internal-glass=true --prop:/sim/rendering/draw-mask-internal-dead=true --prop:/sim/rendering/draw-mask-internal-reflection=true程序显示错误unknown command-line option: enable-hud-2d怎么解决
05-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值