题 目 天气预报与穿衣指数推荐系统外文翻译资料

 2022-11-19 16:47:58

本科生毕业论文(设计)

题 目 天气预报与穿衣指数推荐系统

目 录

1. 引言 3

2. 需求分析 3

3. 系统总体结构 4

3.1 模块协作 4

3.2 组织结构 5

4. 功能模块 5

4.1 网络请求 5

4.2 位置获取 6

4.3 天气信息 7

4.4 头条新闻 11

4.5 位置列表 12

4.6 闪屏广告 14

4.7 清除缓存 15

4.8 主题广场 15

5. 数据存储 16

6. 结论 21

参考文献 21

天气预报与穿衣指数推荐系统

陈亚伦

南京信息工程大学计算机与软件学院,江苏 南京 210044

摘要:随着移动互联的兴起,智能手机愈发普遍。天气预报作为一个常用的App更是生活必需。基于iOS系统,并且在需求分析、功能设计的基础上,使用Objective-C语言开发今日天气App软件。主要功能包括当前城市定位、目标地点搜索、天气信息展示、穿衣指数、分享、软件主题选择等。重点分析了城市搜索和天气查询模块的实现方法,列举关键代码。

关键词:iOS系统 天气预报App Objective-C编程语言

Weather forecast and clothing index recommendation system

ChenYalun

College of computer and software,NUIST,Nanjing 210044,China

Abstract:With the rise of mobile Internet, smart phones are becoming more and more common. Weather forecast as a common app is more necessary for life. Based on the iOS system, and based on the requirements analysis, functional design, use Objective-C language to develop the weather application software today. The main functions include current city location, target location search, weather information display, dressing index, sharing, and software theme selection. Focused on the analysis of the city search and weather query module implementation methods, enumerate key codes.

Key words:iOS system Weather forecast App Objective-C programming language

引言

智能手机的发展如火如荼,形形色色的移动软件为我们的日常生活提供了诸多方便。当下主流的手机操作系统平台主要有iOS和Android,而iOS系统凭借其丝滑、流畅的操作,简单、实用的界面收获了大量的用户。因此,在iOS系统之上设计开发软件是极其有前景,并且会有诸多用户支持使用的。

我国对移动通信的大力支持,使早早进入了4G时代,并且5G即将来临。网速、网费已经不再是制约移动产业发展的瓶颈。各种各样的终端产品,如智能手机、平板等已经逐渐融入人们的生活。人们对各种信息的获取也更加便捷和迅速,如新闻,天气,周边等,可以及时地获取到我们所需要的信息。而天气信息则更多是通过终端设备如移动程序获取的。天气、新闻等信息与人们的生活息息相关。通过获取这些信息,人们可以更加便捷高效地管理自己的生活。

今日天气App应用程序通过对接中央天气预报的气象API来获取全球各地的气象资料,尤其是针对中国境内的城市地区,具有更加贴心、精确的信息提醒。覆盖中国各个城市和地区,对当前的天气状况,未来15天的天气情况,大风雷电雾霾天气预警、穿衣指数推荐等等具有详细的说明。直接调用现有的应用程序接口可以降低开发难度,将更多的精力专注于移动客户端的具体实现。

需求分析

今日天气App程序是一款普适性较强的应用,主要面向广大有天气和穿衣指数需求的用户。首先必不可少的便是获取某个地区的天气信息,而这些天气信息中主要是实时天气,包括体表温度、最高温、最低温、空气质量、湿度、能见度、气压等。在空气质量愈发引起大家关注的当下,需要有每天的空气质量提醒。当出现大风、雷电、雾霾等重大天气状况时,可以及时在醒目位置发出预警,保障人民群众的生命财产安全。未来几天的天气也可以作为天气信息中的一部分,应当包括天气、温度、风力、风向等。但是仅做简单的展示,而不必大加渲染,保证信息的主次分明。

穿衣指数也是今日天气中必不可少的一项,通过对天气信息中温度、风力、风向、空气质量等分析,产出各项活动的具体指南,比如衣服、口罩、是否需要雨伞、可否户外运动等等,做出具体的穿衣指数推荐,而不仅仅局限于衣服上的穿着。随穿衣指数衍生的还有一些常用的生活栏目,比如签名设计、恋爱星座、同城服务等。这些栏目可以作为对今日天气功能单调的一些补充。

除了必须的天气信息展示,为了保证移动应用的完整性和丰富性,应当有便捷的地点搜索功能。当获取用户所在地失败(包括手机定位权限没有打开或者用户拒绝给予位置权限)时,倘若没有相应的位置选择,那么这款应用便无法使用,因此需要加入相应的地点搜索功能。应用可以方便地搜索全球各地尤其是中国境内的城市和地区,而搜索到之后,便可以获取到该地的天气信息状况。对于普通用户来说,主要是了解当日的天气情况,选择相应的穿衣搭配和出行安排。对于相关行业人员来说,可根据未来天气情况提出对应的措施,力求最大化减小损失。因此天气预报的受众需要了解目前的天气情况和未来的天气变化等。[1]

图1 需求分析图

为了增添应用功能的丰富性,可以适当增加些可以提高用户粘性的功能,比如头条新闻展示,用于增加用户的留存度,用户可以方便地知道最近发生的许许多多有趣的事,用于拓宽自己的知识面。而必要的清除缓存、更换主题、分享等小功能更是使得应用丰富多彩,不显单调。

系统总体结构

3.1 模块协作

整个系统采用抽屉式布局。主页展示主要的天气信息,侧栏展示保存的地点信息。除此之外还包括设置页面、头条新闻页面、分享页面以及一些弹窗页面。尽管在iOS平台,抽屉式布局并不是十分常见,相反,这种结构在Windows平台尤其是UWP通用应用平台比较常见,然而结合天气预报整个应用程序的结构,使用抽屉式布局更能有主有次。倘若仍然采用现在主流的Tab式结构,就会显得没有主次,失去了主要的信息展示目的。试想一下,如果一款今日天气App如同微信一样,各项功能都具有,那么它就不是一款优秀的天气App了。抽屉式布局有主页信息展示也有侧栏信息展示,两者互相依存不可分割。

3.2 组织结构

今日天气App主要包括天气预报、位置搜索、主题设置、新闻阅读等。组织结构如图所示

图2 组织结构图

功能模块

根据需求分析,今日天气App程序可以主要分为天气信息,头条新闻,位置列表,清除缓存,主题广场,闪屏广告等六个功能模块,其中各个模块中还可以具体细分。iOS中页面切换主要采用导航控制器(UINavigationController)进行各个主要视图的管理,也即创建UIViewController,将其压入栈中,新视图控制器继续压入栈中,当返回上一层页面时,将其弹出栈,而操作完毕总是显示栈顶控制器。当然,部分弹出视图采用Modal方式,更符合弹窗的逻辑。

4.1 网络请求

在iOS平台上,有许许多多的网络请求的方式。而官方提供的方式包括NSURLConnection和NSURLSession,并且现在已经废弃了NSURLConnection的相关API。鉴于此,有许多开发者封装了官方提供的API,提供更加便捷、更加容易操作的程序接口。著名的第三方框架AFNetworking就倍受广大开发者的喜爱。常用的get请求和post请求,仅仅需要一行代码就可以实现了。而在这基础上,笔者再次对这个框架做了封装,单例操作,修复了常见的内存泄漏问题,同时把get请求和post请求集中在一个方法中,使得网络请求更加方便。

// block for success

typedef void (^requestSuccessBlock)(id responseObject);

// block for failure

typedef void (^requestFailureBlock)(NSError *error);

@interface YANetSharedManager : AFHTTPSessionManager

(instancetype)sharedManager;

- (void)requestWithMethod:(YAHTTPMethod)method

path:(NSString *)path

parameters:(NSDictionary *)parameters

successBlock:(requestSuccessBlock)success

lt;

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[23344],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。