Android天气预报设计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android天气预报设计相关的知识,希望对你有一定的参考价值。

——嵌入式软件开发

 

名字

功能模块

代码行数

备注

谢灿辉

Widget

200

桌面小程序

李杨敏

GPS定位,百度地图API

100-150

获取当前所在城市

丁小芳

城市选择Activity,天气API获取天气

100-200

包括数据库交互

 

本软件是一个天气类应用软件,带有widget,启动软件后可以定位所在城市或手动设置后实现天气查询,PM2.5查询,7天气温曲线,我们可从图片和文字中显现最近一周天气预报和相关温馨提示等。

技术分享技术分享技术分享

 

这些数据的提供都通过后台服务获取,而后台服务会在一定时间间隔通过API获取并存储在数据库当中。

从以上可看出这个软件的主要功能有:

①启动APP Widget应用程序;

②设置界面,设置所要显示天气预报的城市;

③详细界面,通过图片文字显示当前一周的天气预报、温馨提示及气温曲线变化;

④显示界面,通过图片文字显示时间、温度等;

④分享界面

 

系统设计

 

  1. 模块

    1.天气预报的显示

    为了用户的体验更加便捷,我们将软件作为一个小插件定在了手机主面上,调用的数据使用在桌面上显示。而在用户界面上使用了(AppWidget)框架结构,提供直观的交互操作。

     

    天气Widget开发步骤:

    ①设计Widget的布局

    Res/layout/widget.xml res/drawable/widget_background.xml

    创建Wiget的第一个步骤就是设计并实现Wiget的组件布局,就是Widget和用户交互的界面。Widget与Activity的布局设计和实现方法十分相似,都是在/res/layout目录中建立XML的布局资源文件

    技术分享

     

    ②定义Widget的元数据

    Widget元数据文件保存在/res/xml/weather_widget_4x2.xml

    技术分享

    ③实现Widget的添加、删除、更新

    实现Widget的添加、删除、更新等过程,主要是通过AppWidgetProvider类来实现,这个类本身继承BroadcastReceiver,用来接收与Widget相关的更新、删除、生效等消息。当AppWidgetProvider接收到这些消息以后,会分别调用相应的事件处理函数。

    事件

    调用函数

    说明

    ACTION_APPWIDGET_UPDATE

    OnUpdate()

    Widget更新

    ACTION_APPWIDGET_DELETED

    OnDelete()

    Widget删除

    ACTION_APPWIDGET_ENABLED

    onEnabled()

    Widget生效

    ACTION_APPWIDGET_DISABLED

    onDisabled()

    Widget失效

    技术分享

    ④在androidManifest.xml文件中声明Widget

    /AndroidManifest.xml

    要让Widget生效还需在AndroidManifest.xml文件中进行声明,主要在该文件中声明AppWidgetProvider

    技术分享

     

  2. 数据交互

    1.利用API获取天气数据,数据获取地址:http://sixweather.3gpk.net/SixWeather.aspx?city=%E5%B9%BF%E5%B7%9E

     

    获取天气的关键代码:

    Com.yz.util/GetWeatherTask.java技术分享

    向天气接口发送HTTP GET 请求

    技术分享

    服务器返回XML文档,包含天气内容

    技术分享

     

  3.  

    代码:请求定位权限技术分享

    百度地图API

    技术分享

    技术分享

  4. 设置城市(数据库读取过程)

    Com.yz.app

    技术分享

    Com.yz.db

    技术分享

    技术分享

  5. 1. 页面实现布局管理

    根据需求分析可知,该应用程序应包含四个主要的用户界面。显示界面中,应包含城市、温度和时间等信息;详细界面中,又包含了三个界面,分别为天气中心、温馨提示和气温曲线,这其中包含了当前以及后六天的天气预报,气温走势等信息;设置界面,主要是为了用户手动查询所需城市天气预报;分享界面提供了将天气预报信息分享出去的功能。

    图片:

    /res/layout/activit_weather_center.xml

    技术分享

     

    分享途径 /assets/platforms.xml

    技术分享

     

    2. 后台服务(唤醒设备时候更新)技术分享

    技术分享

  6. City.db->获取城市->天气API获取天气->处理->显示

     

    六、程序模块设计

    从这功能需求我们将整个程序分为了四个功能模块:

    ①程序启动

    ②用户界面

    ③后台服务

    ④数据库适配器

    技术分享

    技术分享

    技术分享

    技术分享

以上是关于Android天气预报设计的主要内容,如果未能解决你的问题,请参考以下文章

android应用开发-从设计到实现 3-6 静态原型的天气预报

Android安卓天气预报系统设计与实现.zip(论文+导入项目教程+项目源码)

android 开发设计模式---观察者模式

android应用开发-从设计到实现 3-7 静态原型的更多天气信息

空空天气预报

Android开发中常见的设计模式——观察者模式