基于 Java 天气预报 APP 的设计与实现【100011103】 |
您所在的位置:网站首页 › 设计得到app › 基于 Java 天气预报 APP 的设计与实现【100011103】 |
天气预报 APP 的设计与实现
一、需求分析
背景 天气信息和人们的日常生活息息相关,随着人们活动范围的扩大和出行需要,天气预报已经成为人们生活不可缺少的一部分,在这样的市场需求的基础上,本人设计了天气预报软件,它可以提供天气相关信息和生活指数,用户可以通过软件及时获取近期的天气状况和变化,及时做好各方面的计划和防护措施。 需求总体介绍 天气预报的用户主要是对获取天气信息有需求的人群,对于普通用户来说,主要了解当日的天气情况,选择相应的穿衣搭配和出行安排,对于相关行业人员来说,可根据未来天气状况制定相关措施,保证行业项目的顺利实施。因此天气预报的受众需要了解目前天气状况和未来的天气变化等,对其他的城市天气状况也会有所关注。 系统的功能性需求自动定位当前位置,自动更新当前位置天气信息,也可查询不同城市的天气信息。查询信息的结果主要包括温度、天气状况、风力、空气指数、生活指数等。提供未来几天及小时天气状况并显示。提供个人偏好设置,分享天气信息,关于本软件等。用例图系统的非功能性需求 用户界面需求 界面简洁明了,采用图标加文字结合的方式,易于用户理解,对于重要信息,放大进行显示,界面排列符合阅读逻辑。 软硬件需求 客户端操作系统:Android 4.0 及以上; 客户端硬件设备:Android 手机等移动终端 产品质量需求 二、系统设计体系结构设计 系统功能模块划分 针对此天气预报 APP,按照设计的基本要求,可以将系统划分为下面几个功能模块: 天气显示界面模块 显示城市天气状况,包括温度,天气,风力,生活指数等信息,显示未来七天天气,及小时级天气。通过滑动切换不同城市的天气信息。 城市设置模块 编辑天气城市列表信息。 城市增加模块 用户可通过列表选择或搜索进行城市的添加。 分享模块 用户可通过分享按钮将天气信息分享给其他用户。 数据设计 本软件数据库主要包含用户添加的城市数据,结构较为简单,由一个城市表组成。 人机交互设计 界面流设计 功能界面原型设计 三、系统实现系统目录结构 ├─build ├─libs └─src ├─androidTest ├─main │ ├─assets │ ├─Java │ │ └─com │ │ └─taimin │ │ └─weatherforecast │ │ ├─Adapter //适配器目录 │ │ ├─bean //bean 类 │ │ ├─db //数据库适配器 │ │ ├─fragment //fragment 文件 │ │ ├─utils //工具类 │ │ └─view //view 文件 │ └─res │ ├─drawable │ ├─drawable-v24 │ ├─layout │ ├─mipmap-anydpi-v26 │ ├─mipmap-hdpi │ ├─mipmap-mdpi │ ├─mipmap-xhdpi │ ├─mipmap-xxhdpi │ ├─mipmap-xxxhdpi │ └─values └─test 系统功能实现 软件通过 activity+fragment 进行布局,通过控制 fragment 的切换来切换不同的页面,为了防止重复切换带来的卡顿,fragment 均进行了缓存处理。 天气预报主界面 界面展示 主界面是一个 fragment,采用 RelativeLayout(顶部栏)+ViewPager 来实现不同城市天气的切换,通过对 viewpager 监听实现顶部栏城市及背景的切换,用户在进入 app 时系统会自动进行定位并将当前位置设置当前城市,具体代码为: 城市管理 用户通过点击主界面右上角图标即可进入该界面,用户可以通过该界面进行快速选择城市,删除城市等功能,选择城市后即可快速跳转到 viewpager 制定页面。具体代码如下: 城市选择 城市选择界面首先会进行定位,页面分为五个部分,分别为搜索栏,定位栏,热门城市,城市列表,侧边滑动条,用户可通过选择或搜索来完成城市的添加。部分代码如下: 天气分享 用户点击页面的右上角即可进行当前城市信息的分享操作。具体代码如下: 雷达云图 雷达云图功能采用 webview 方式,接入中国天气网雷达云图 h5 页面实现。 我的 四、总结项目技术总结 整个 app 实现了对天气预报的获取、展示,位置的获取等功能。通过安卓网络编程的方式可以很方便的获取到天气 JSON 数据,通过使用 GSON 库,解析为我们软件需要的数据结构,给软件的编写提供了极大的便利。安卓的 Activity、Fragment、Service 等提供了强大的数据处理功能,使各个页面间可以灵活的传输数据。界面采用了 viewpager 与 fragment 结合的方式进行设计,每个 fragment 对应一个城市页面,可以通过滑动进行翻页控制。且为防止多页面造成的卡顿,app 会首先进行 fragment 的初始化缓存,使软件响应速度得到提升。 技术创新及特点通过 GSON 库解析请求到的 JSON 数据,GSON 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符转成一个 Java 对象,或者将一个 Java 转化为 JSON 字符串,使用更加灵活。 对于一些通用的工具函数进行了封装,便于使用。 城市天气信息与软件背景对应更新,增加了软件的统一性。 采用下拉刷新的方式进行天气信息的更新,更加方便快捷。 ♻️ 资源大小: 22.2MB ➡️ 资源下载:https://download.csdn.net/download/s1t16/87526929 注:如当前文章或代码侵犯了您的权益,请私信作者删除! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |