安卓android课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湘潭大学课程设计报告
课程名称______手机安卓开发_______
课题名称______天气预报APP_______指导老师______周唯___________
姓名____黄柳________
班级____12计2班________
小组______棒棒糖_______
时间____2015年1月26 日_____
一、需求分析
(一)引言
1.编写目的
1.1 为用户提供一个显示天气预报的软件,可以根据百度地图显示用户需求的城市位置,以及
用图标表示各城市对应的气象信息,可以简洁的表示出“晴、雨、雪”和“气温”气象
信息。

2. 项目风险
2.1 (项目风险识别是指找出影响项目目标顺利实现的主要风险因素,并识别出这些风险究竟
有哪些基本特征、可能会影响到项目的那些方面。


2.2 联网收费视用户电话运营商的收费标准决定
2.3 手机或者无线信号不好时,可能无法连接或更新天气情况
3. 预期读者和阅读建议
3.1 预期读者:会使用已经安装安卓系统的手机或者平板电脑及其他移动设备的用户
3.2 阅读建议:读者应通过该文档可以了解相关项目的需求分析、使用注意事项以及可能存在
的风险
4. 产品范围
2.2手机,平板电脑,MP4,导航仪,上网本,电纸书等使用安卓系统的数码领域
(二)综合描述
1.产品的状况
1.1 Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。

目前未有
统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

Android操作系统最初由Andy
Rubin开发,最初主要支持手机。

2005年由Google收购注资,并组建开放手机联盟开
发改良,逐渐扩展到平板电脑及其他数码领域上。

我们开发的相关项目正是一个在安卓
平台上开发的软件,可以用这个软件来实现用户在一些简单的手持设备如手机或者平板
电脑等上面及时的了解到用户所在城市的天气预报。

2. 产品的功能
2.1 天气信息获取
2.2 天气信息显示
3. 系统配置功能
3.1 用户类和特性
安卓平台用户:安卓新用户可以使用软件来了解用户所在城市的天气预报。

熟悉安卓平台用户还可以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。

安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件运行的原理。

3.2 运行环境
软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。

安卓版本需在2.2及以上,同时建议用户如果是在手机移动设备使用的话,需确保手机支持联网服务。

3.3 设计和实现上的限制
Eclipse是开发相关应用软件的首选集成开发环境,安卓开发环境首先需要安装支持java应用软件运行的java开发软件包(即JDK),然后安装集成开发环境Eclipse,最后安装Android SDK的Eclipse的ADT插件。

Android SDK和Eclipse的ADT插件是必须使用的。

软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件存储和轻量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。

3.4 假设和约束(依赖)
软件必须在安卓系统下才可以正常运行,若需要获取天气更新或者是短信服务,需确保用户的数码设备支持联网及短信服务。

(三) 外部接口需求
1 用户的手机设备可以支持联网。

2 用户界面
3 软件接口
软件提供轻量级的进程间通信机制Intent,实现跨进程组件通信。

4 访问硬件的API库函数通讯接口
4.1 HTTP 协议:有多种接口可以调用你
可以用Java类库封装的
HttpConnection 或者用Apach的开
源项目的HttpGet 或者HttpPost ,
服务器端需要编写Serlvet来响
应客户端的请求。

4.2 Sokcet :就是服务器端不断监听
双方约定好的端口号,客户端通过服
务器IP去请求连接,连接成功后,
得到Socket 的输入输出流,直接操
作即可。

(四) 系统功能需求
天气信息显示和获取
功能描述:需有一个显示天气情况的用户界面,要求百度地图显示各城市位置(如:北京、长沙、广州等3-5个城市),以及用图标表示各城市对应的气象信息,表示出“晴、雨、雪”和“气温”简洁气象信息。

输入输出信息:
输入:当触摸某一城市对应的气象图标时,显示该城市当天的温度、湿度、风向和雨雪详细天气信息,并预报该城市后面几天的气象信息。

输出:气象信息的获取,从百度上获取天气预报信息,这些天气数据是通过后台服务获取的,这个后台服务可以按照一定时间间隔,并将各城市的天气信息保存到SQLite数据库中。

二、概要设计
三、Ui界面
我们的ui界面秉承着清新的风格开发出来的。

整个软件界面使用一个线性布局,让所有的元素从屏幕上方向下填充,并给整个线性布局进行权重划分。

线性布局的最上方是一个TextView,显示当前城市的名字,接着往下是一个相对布局,相对布局的左侧是天气的图片,右侧是三个天气相关的参数。

接着是一个线性布局,布局的左上方是三个TextView,分别显示“预报”,“趋势”,“指数”功能,通过点击相应的TextView,下方的一个线性布局展现不同的功能。

功能面板文字的下方是一个大的线性布局,用来显示未来三天的天气情况。

在这个大的线性布局中,又含有三个小的线性布局,这三个小线性布局中包含了日期,天气图片和风力状况等(这些控件从上到下垂直居中显示)。

通过给整个XML文件中LinearLayout布局的的子级布局添加权重,让各个部分从上到下有序的显示,让当前城市名称在屏幕的上方显示,功能面板位于屏幕下方显示,以匹配不同尺寸屏幕,让软件的显示效果更好。

软件的整体布局风格是清新,优美,大方。

四、功能设计
功能上实现实时的获取天气信息,获取百度api返回数据,解析百度api返回的json 数据,根据解析到的数据绘制气温趋势图,并将数据反馈到app上的相应的区域。

通过使用ViewPager类,来实现天气预报软件中多个城市间的无缝页面切换。

由于组员都缺少JA V A开发经验,对安卓开发也不熟悉,所以我们决定采用调用API的方法来实时获取不同城市的天气预报数据,在这次项目中我们将采用百度的车载API。

通过HttpClient类和AsyncTask异步类来获取网络数据。

最后通过Gson 类来解析获取的网络数据,并给页面中的所有的布局空间设置id,在AsyncTask得到网络数据之后将这些数据同步到软件界面上,呈现给用户。

三、功能模块
我主要负责监听程序的设计,监听用户按键,并进行相应的动作。

只要用户滑动面板,就切换到下一个城市,并获得下一个城市的天气数据,显示在面板上。

每隔15分钟自动更新天气数据。

主要代码如下:
下面的代码处理网络连接部分,用GSON解析网络上获得的Json网页:
下面代码访问网络:
四、心得体会
通过这个软件的实现,我对Android编程有了更加浓厚的兴趣,对Android中的常用类和接口有了进一步的认识。

对编程有了一种新的看法,编程在我的学习中不再是那样的枯燥无味,而是时时刻刻充满惊喜。

虽然这是一个挺小的项目但它对我在编程方面起到了一种激励的作用。

我会在此基础上更加努力做出更好的程序。

相关文档
最新文档