# 我要做的是Google天气客户端

一、Need(需求):

1、 功能性需求分析

天气预报客户端,顾名思义就是为用户提供实时准确的天气信息,方便用户出行生活。根据用户日常需求,软件实现后所达到的功能有:

载入界面:初始化资源,显示查询界面,有两种查询选项

(1)按钮查询:针对一些常用城市,如北京、上海等,为方便用户只要在预定义的城市中寻找用户所在城市并选择,点击确定按钮即可查询到天气信息。

(2)输入查询:对每个城市都适用的查询方式。在城市填写空白栏中输入所需城市的名字,点击确定按钮即可查询到天气信息。

天气查询结果有两种:一种是实时天气信息,信息结果比较详细,除温度天气外还可以提示湿度、风向等信息,这样使天气信息更加完善;一种是天气预报信息,提供未来几天的天气状况,方便用户的出行预判。

现在天气预报软件的功能越来越完善,出了上述需求外,还提供如穿衣指数,空气污染程度等功能,因此,在完成基本功能的基础上,我会考虑增加更丰富的预报信息。

2、 非功能性需求分析

(1)低资源消耗

Google天气客户端对资源的耗费主要用在解析android xml上,为了节省对手机内存等资源的占用,结合天气客户端的特点。我打算在设计软件时使用SAX解析器。

(2)易用性

易用性决定着软件的市场。天气预报客户端的用户并不希望一层层的寻找打开软件来查询天气,而是希望一打开手机就能看到。因此我们需要做个widget,即一个天气预报小窗口,把它放在主桌面,用户对天气情况一目了然。

二、Approach(方法):

开发环境

(1)应用平台: Android 手机 

(2) 开发工具: Android studio 

Android Studio 是一个Android开发环境,基于IntelliJ IDEA。Android Studio 提供了集成的 Android 开发工具用于开发和调试。

   系统模块划分与操作流程

  CityWeather:天气查询主界面

  ConstData:存放预定义的城市

  SingleWeatherInfoView:显示天气预报视类图

   GoogleWeatherHandler :解析xml信息

  WeatherCurrentCondition:设置当前天气类

  WeatherForecastCondition :设置预报前天气类

  WeatherSet  :天气信息汇总

三、Benefit(收益):

1. 功能

本项目基于Android平台开发天气客户端,使用户可以随时查询当前及未来几天天气。

2. 成本

  由于Android Studio在IDEA的基础上提供:基于Gradle的构建支持,Android 专属的重构和快速修复,提示工具以捕获性能、可用性、版本兼容性等问题,支持ProGuard 和应用签名,基于模板的向导来生成常用的 Android 应用设计和组件,功能强大的布局编辑器。缩短了开发周期,降低了开发难度,大大节约了成本。

此外,我们使用google天气预报当web服务端。由于google天气预报是免费提供商,因此这个软件的成本能控制的很低。对用户来说很实用。

四、Competitors(竞争力)

  如今随着智能电子设备越来越普及,通过手机,平板来查询天气是一种趋势。它比起传统的报纸、电视等媒体在实时传播分享上有着先天的优势。本项目基于Android平台开发的google天气客户端,功能齐全、操作简单,使用户可以更加方便、准确的查询天气。

Android实践项目汇报(一)的更多相关文章

  1. Android实践项目汇报

    Android实践项目:推箱子 推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力.游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置.这就要求玩家巧妙的运用有限的空间和通道 ...

  2. Android实践项目汇报总结(上)修改

    微博客户端的设计与实现(上) 第一章 绪论 1.1课题背景 微博可以说是时下最受人们所喜爱的一种社交方式,它是一种通过关注机制分享简短实时信息的广播式的社交网络平台.通过微博我们可以了解最新的时事新闻 ...

  3. Android实践项目汇报(二)

    Google天气客户端 本周学习计划 学习布局控件和XML解析的相关知识. 看懂程序代码. 把借鉴代码成功导入到Android Studio中并运行成功. 实际完成情况 我学习到布局控件XML在res ...

  4. Android实践项目汇报-改(一)

    Google天气客户端NABC Need(需求):  功能性需求分析 天气预报客户端,顾名思义就是为用户提供实时准确的天气信息,方便用户出行生活.根据用户日常需求,软件完成后点开,载入界面,显示查询界 ...

  5. Android实践项目汇报(总结)-修改

    天气客户端开发报告 1系统需求分析 1.1功能性需求分析 天气预报客户端,最基本就是为用户提供准确的天气预报信息.天气查询结果有两种:一种是当天天气信息,信息结果比较详细,除温度.天气状况外还可以提示 ...

  6. Android实践项目汇报(总结)

    天气客户端开发报告 1    系统需求分析 1.1功能性需求分析 天气预报客户端,最基本就是为用户提供准确的天气预报信息.天气查询结果有两种:一种是当天天气信息,信息结果比较详细,除温度.天气状况外还 ...

  7. Android实践项目汇报(四)

    全国天气客户端 本周学习计划 添加修改功能,完成项目 实际完成情况 1.成功显示当天及后几天的天气信息 通过修改chaxun.java程序,比较JSON数据格式中JSONObject("to ...

  8. Android实践项目汇报(三)

    Google天气客户端 本周学习计划 调试代码使之成功运行并实现天气预报功能. 实际完成情况 由于google取消api接口服务,天气源的传输.所以我换了一个使用 haoserver API接口的程序 ...

  9. Android实践项目汇报总结(下)

    微博客户端的设计与实现(下) 第四章 系统详细功能实现 本应用实现了如下主要模块:程序启动模块.登录授权模块.主界面显示模块撰写发表微博模块.用户发布信息模块.软件设置模块. 4.1程序启动模块实现 ...

随机推荐

  1. remove unusable kernel in linux.

    dpkg --get-selections | grep linux-image 1933  sudo apt-get remove linux-image-extra-4.4.0-57-generi ...

  2. java cocurrent ConcurrentHashMap、读写锁、Condition、线程池、Barrier、CountDownLatch、Callable、BlockingQueue

    Java并发学习笔记 - yang_net - 博客频道 - CSDN.NET               Java并发学习笔记 - yang_net - 博客频道 - CSDN.NET 并发小结:高 ...

  3. 虚拟机linux centoros系统安装

    (一) 系统下载地址:https://www.centos.org/download/ (二) 下载安装:vmware.并安装. (三) 虚拟机的安装: 1.创建新的虚拟机 2.选择自定义,下一步 3 ...

  4. Wireless Network--poj2236(并查集)

    Description An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have ...

  5. Intel 设计缺陷背后的原因是什么? | Linux 中国

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79386769 wx_fmt=jpeg& ...

  6. vue-moment的使用

    1.安装:npm install moment --save 2.导入:import moment from 'moment'; 3.定义全局时间过滤器:  Vue.filter('converDat ...

  7. PHP开发接口使用RSA进行加密解密方法

    网络安全问题很重要,尤其是保证数据安全,遇到很多在写接口的程序员直接都是明文数据传输,在我看来这是很不专业的.本人提倡经过接口的数据都要进行加密解密之后进行使用. 这篇文章主要介绍使用PHP开发接口, ...

  8. POJ3009:Curling 2.0(dfs)

    http://poj.org/problem?id=3009 Description On Planet MM-21, after their Olympic games this year, cur ...

  9. R实现的最小二乘lsfit函数学习

    1.源码 function (x, y, wt = NULL, intercept = TRUE, tolerance = 1e-, yname = NULL) { x <- as.matrix ...

  10. ML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图

    面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language?),这篇课程的目的是展示出UML ...