毕业答辩-基于Android的天气预报软件的设计与实现.pptx
- 文档编号:1091282
- 上传时间:2022-10-16
- 格式:PPTX
- 页数:18
- 大小:1.68MB
毕业答辩-基于Android的天气预报软件的设计与实现.pptx
《毕业答辩-基于Android的天气预报软件的设计与实现.pptx》由会员分享,可在线阅读,更多相关《毕业答辩-基于Android的天气预报软件的设计与实现.pptx(18页珍藏版)》请在冰豆网上搜索。
,基于Android天气预报软件的设计与实现,专业班级:
软件1016班学生姓名:
指导老师:
1项目背景,2概要设计,3详细设计,4测试及其他,开发背景,目的及意义,可行性分析,平台介绍,系统流程图,主界面,更换城市界面,测试,总结,功能框架,数据库,致谢,内容简介,开发背景,1Android是一种开放源码操作系统。
22013年,Android在全球市场份达到75%。
3Android在中国的前景十分广阔。
4随着人们生活节奏的加快,精确地掌握每天的天气情况已成为一个人早上出门前的必修课。
目的及意义,1提供准确的实时天气数据。
2进一步扩大天气信息的覆盖面。
3完善公共服务体系,更好地发挥气象事业对经济社会发展的现实性作用。
平台介绍,Android平台的基本框架如下:
在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。
在Android平台上,集成了一个嵌入式关系型数据库SQLite。
它占用的资源非常低,同时能够跟很多程序语言相结合,处理速度非常快。
可行性分析,经济可行性,技术可行性,法律可行性,总结,操作可行性,需求低平台成周期熟短,环境完人员善多掌握能核心,设备充操作足简便,遵守法绿色规环保,综上,本系统可以进行研发,系统流程图,本系统的流程比较清晰,首先天气数据每更新一次,系统就会通过HTTP向指定的地址发出数据请求,若请求成功,则返回天气数据并通过JSON格式来解析数据,最终把解析到的数据显示在手机界面上,这样就完成了一次天气数据的更新。
功能框架,软件的功能框架如上图所示:
实时天气信息:
用户可以查看指定城市的实时天气,包括温度、湿度、风力和穿衣指数等;未来三天预报:
用户可以查看到未来三天的天气情况;更换城市:
用户可以根据自己的实际情况选择自己想要查询的城市。
自动定位:
可以获得当前用户所在的城市。
主界面,该界面综合使用了Android平台的各种常用组件,包括Button、TextView、,ImageView等,界面的顶部显示当前选择的城市和天气数据刷新按钮,用户可以根据自己的需要随时通过该按钮来刷新数据,右边为一个“更换城市”按钮,用户可以通过该按钮来更改其它城市。
首先,进入的是界面的主体部分,显示了当前城市的实时天气情况,包括时间、天气、温度、风力和湿度等信息。
其次,显示了未来三天的天气情况和穿衣指数提醒。
最后,显示了当前天气数据的发布时间和最近一次刷新时间。
rivatevoidSetWeatherJson(StringsNowWeatherString,Strings6Detil)tryjsonObject=newJSONObject(sNowWeatherString);jsonObject=jsonObject.getJSONObject(weatherinfo);tvCityName.setText(jsonObject.getString(city);tvNowTemp.setText(jsonObject.getString(temp)+);tvTodayWindSD.setText(jsonObject.getString(WD)+jsonObject.getString(WS)+湿度:
+jsonObject.getString(SD);/风力jsonObject=newJSONObject(s6Detil);jsonObject=jsonObject.getJSONObject(weatherinfo);sdate_y=jsonObject.getString(date_y);tvIssueTime.setText(sdate_y.substring(5)+jsonObject.getString(fchh)+:
00);/设置发布时间tvToday.setText(sdate_y+jsonObject.getString(week);/设置今天日期Stringimg_title=jsonObject.getString(img_title1);/天气图标intweather_icon=getWeatherBitMapResource(img_title);imageView1.setImageResource(weather_icon);tvPrompt.setText(jsonObject.getString(index_d);/穿衣提醒,主界面核心代码:
更换城市界面,该界面包括两部分,分别是热门城市和所有城市,热门城市模块列举了国内主要的大城市,目的是方便用户选择,而所有城市则是显示了国内所有的城市数据,用户可以先选择省份,接着选择城市,最后选择县(区)这种显示来选择。
选择完毕后可以通过确定按钮来提交设置。
更换城市界面核心代码:
ublicListgetCitSet(intpro_id)cityList.clear();/打开数据库SQLiteDatabasedb1=SQLiteDatabase.openOrCreateDatabase(DATABASE_PATH+dbName,null);Cursorcursor=db1.query(citys,null,province_id=+pro_id,null,null,null,city_num);ListcityListTemp=newArrayList();while(cursor.moveToNext()Stringcityid=cursor.getString(cursor.getColumnIndexOrThrow(city_num);Stringcityn=cursor.getString(cursor.getColumnIndexOrThrow(name);cityList.add(newCityInfo(cityid,cityn);for(inti=0;icityList.size();i+)if(!
cityList.get(i).getName().contains(.)cityListTemp.add(newCityInfo(cityList.get(i).getCity_num(),cityList.get(i).getName();cursor.close();db1.close();returncityListTemp;,自动定位,调用安卓SDK的定位中的LocationClient和BDLocation等类以及BDLocationListener等接口,通过gps和网络来返回百度坐标系的定位结果。
自动定位功能的核心代码:
ublicclassMyLocationListennerimplementsBDLocationListenerOverridepublicvoidonReceiveLocation(finalBDLocationlocation)dialog.dismiss();mIsStart=false;if(location=null)toastUtil.show(定位失败);return;alertDialog.Builderbuild=newalertDialog.Builder(WeatherChangeCityActivity.this);build.setTitle(定位成功).setMessage(当前城市:
+location.getProvince()+-+location.getCity()+-+location.getDistrict().setPositiveButton(确定,newDialogInterface.onclickListener()Overridepublicvoidonclick(DialogInterfacedialog,intwhich)CityInfocityInfo=getCityByLoc(location.getCity(),location.getDistrict();,数据库,Android平台上,集成了一个嵌入式关系型数据库SQLite。
它占用资源非常的低,可能几百K就够了。
它能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比Mysql、PostgreSQL这两款数据库管理系统快。
本数据库支持功能如下:
自动建表;自动支持增删改操作;查询方式灵活;查询结果对象化;查询结果灵活:
查询结果支持对象化,也支持结果为List形式。
测试,本测试我们测试的是主界面、更换城市界面和网络接口这三个模块,测试目的是验证修改城市后系统能否自动更新天气数据,从而验证系统功能的完整性,首先我们点击主界面右上角的“更改城市”按钮,把当前城市修改成昆山,点击确定按钮后系统当前的城市已经切换到昆山了,并且当前显示的天气数据也是昆山的数据,所以这三个模块的功能及测试结果都是是正常的。
总结,本次毕业设计是我在大学学习的最后一个阶段,这三个多月以来,从拿到题目的毫无头绪,到在网上查找各种相关资料,再到一个个功能逐步实现,最后终于能完整连贯的呈现,这中间经历了种种磨难与挣扎,当然也有兴奋与喜悦相间。
虽然该天气预报软件的基本功能已经实现,可以实时更新天气数据并且可以选择自己需要的城市的天气信息。
但是由于本人水平有限,本软件也存在许多可以改进的地方,敬请谅解,欢迎指正。
Thankyou!
感谢理工大软件学院对我的培养!
感谢各任课老师对我的教导!
感谢赵彦涛老师、李建林老师对我的指导!
感谢各位评审的审议!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业 答辩 基于 Android 天气预报 软件 设计 实现