安卓android课程设计报告
- 格式:docx
- 大小:73.45 KB
- 文档页数:5
湘潭大学课程设计报告
课程名称__________ 手机安卓开发______________
课题名称__________ 天气预报AP ________________ 指导老师___________ 周
唯_____________________
姓名 ______ 黄柳_______________
学
班级 _______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 An droid是一种以Lin ux为基础的开放源代码操作系统,主要使用于便携设备。目前未有统一中文名
称,中国大陆地区较多人使用安卓”或安致”。An droid操作系统最初由
AndyRubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联
盟开发改良,逐渐扩展到平板电脑及其他数码领域上。我们开发的相关项目正是一个在安卓平台上开发
的软件,可以用这个软件来实现用户在一些简单的手持设备如手机或者平板电脑等上面及时的了解到用
户所在城市的天气预报。
2.产品的功能
2.1天气信息获取
2.2天气信息显示
3.系统配置功能
3.1用户类和特性
安卓平台用户:安卓新用户可以使用软件来了解用户所在城市的天气预报。熟悉安卓平台用户还可
以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。□
安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件运行的原理。
3.2运行环境
软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。安卓版本需在及以上,同时建议用户如果是在手机移动设备使用的话,需确保手机支持联网服务。
3.3设计和实现上的限制
Eclipse是开发相关应用软件的首选集成开发环境,安卓开发环境首先需要安装支持java应用软件]运行的java开发软件包(即JDK ),然后安装集成开发环境Eclipse,最后安装AndroidSDK的Eclipse 的ADT 插件。
AndroidSDK 和Eclipse的ADT插件是必须使用的。
软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件存储和轻
量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。
3.4假设和约束(依赖)
软件必须在安卓系统下才可以正常运行,若需要获取天气更新或者是短信服务,需确保用户的数码设备支持联网及短信服务。
(三)外部接口需求 1 用户的手机设备可以支持联网
2 用户界面
3 软件接口
软件提供轻量级的进程间通信机制Intent,实
组件通信。
4 访问硬件的API库函数通讯接口
4.1 HTTP协议:有多种接口可以调用你
可以用Java 类库封装的
HttpConnection 或者用Apach 的开源项
目的HttpGet或者HttpPost,服
务器端需要编写Serlvet来响应客户端的
请求。
约定好的端口号,客户端通过服务器
IP去请求连接,连接成功后,得到Socket的输入输出流,直接操作即可。
(四)系统功能需求
天气信息显示和获取
概要设计
Ui界面
我们的ui界面秉承着清新的风格开发出来的整个软件界面使用一个线性布局,让所有的元素从屏幕上方向下填充,并给整个线性布局进行权重划分。
线性布局的最上方是一个TextView,显示当前城市的名字,接着往下是一个相对布
现跨进程
日期日期日期
囹片凰片囹片
温度温度温度
天汽天气天气
风力风力风力
4.2 Sokcet :就是服务器端不断监听双方
功能描述:需有一个显示天气情况的用户界面,要求百度地图显示各城市位置(如:北京、长沙、
局,相对布局的左侧是天气的图片,右侧是三个天气相关的参数。
接着是一个线性布局,布局的左上方是三个TextView,分别显示“预报”,“趋势”,
“指数”功能,通过点击相应的TextView,下方的一个线性布局展现不同的功能。
功能面板文字的下方是一个大的线性布局,用来显示未来三天的天气情况。在这个大的线性布局中,又含有三个小的线性布局,这三个小线性布局中包含了日期,天气图片和风力状况等(这些控件从上到下垂直居中显示)。
通过给整个XML 文件中LinearLayout 布局的的子级布局添加权重,让各个部分从上到下有序的显示,让当前城市名称在屏幕的上方显示,功能面板位于屏幕下方显示,以匹配不同尺寸屏幕,让软件的显示效果更好。软件的整体布局风格是清新,优美,大方。
四、功能设计
功能上实现实时的获取天气信息,获取百度api 返回数据,解析百度api 返回的json 数据,根据解析到的数据绘制气温趋势图,并将数据反馈到app 上的相应的区域。
通过使用ViewPager 类,来实现天气预报软件中多个城市间的无缝页面切换。
由于组员都缺少JAVA 开发经验,对安卓开发也不熟悉,所以我们决定采用调用API 的方法来实时获取不同城市的天气预报数据,在这次项目中我们将采用百度的车载API 。通过HttpClient 类和AsyncTask 异步类来获取网络数据。最后通过Gson 类来解析获取的网络数据,并给页面中的所有的布局空间设置id,在AsyncTask得到网络数据之后将这些数据同步到软件界面上,呈现给用户。
三、功能模块
我主要负责监听程序的设计,监听用户按键,并进行相应的动作。
只要用户滑动面板,就切换到下一个城市,并获得下一个城市的天气数据,显示在
面板上。每隔15 分钟自动更新天气数据。
主要代码如下:
下面的代码处理网络连接部分,用GSON解析网络上获得的Json网页:
下面代码访问网络:
四、心得体会
通过这个软件的实现,我对Android 编程有了更加浓厚的兴趣, 对Android 中的常用类和接