基Android天气预报查询系统实现
摘:着智手机步步走进生活成获取信息设备相关应越越广泛日常生活中扮演着越越重角色关键应程序开发成影响移动智终端普重素设计开发实方便应程序具重意义良市场前景Android作前流行操作台然存着量应服务需求
Android基Linux台完全开源手机操作系统时开发语言Java选择Android台手机天气预报系统作毕业设计目帮助户时查询天气信息天气变化情况生活更加舒适方便文详细讲述Android台天气软件界面设计界面实现控件界面布局等容结合中国气象网天气数准确天气情况友方式呈现户户更加赏心悦目体验软件服务
关键词:Android 天气软件 手机天气预报软件系统
System implementation of weather query based on Android
Abstract
With the development of intelligent mobile phone step by step into people's lives it will become the main device to obtain information related to more widely and plays a more and more important role in people's daily life Therefore the development of critical applications has become an important factor affecting the popularization of mobile intelligent terminal application design and development of practical convenient has important significance and good market prospects Android as the most popular operating platform natural also exist in application service needs of a large number of
Android is a mobile phone operating system Linux platform based on open source at the same time the development of language Java so I chose the platform of mobile phone weather system with Android as my graduation design the purpose is to help the user whenever and wherever possible query weather information and weather condition make life more comfortable and convenient This paper describes the layout of content interface design and interface control weather software under the Android platform use interface combined with the weather data of China Meteorological Network will be accurate weather conditions in a friendly way is presented to the user the user can be more pleasant experience of the software service
Keyword Android weather software the software system of mobile phone weather
目录
第章 绪………………………………………………………………………………………1
11 研究容……………………………………………………………………… …1
12 课题背景意义…………………………………………………………………………1
13 发展现状趋势…………………………………………………………………………1
第二章 系统分析…………………………………………………………………………………2
21需求分析……………………………………………………………………………………… 2
22 Android系统特点…………………………………………………………………………2
23系统规划………………………………………………………………………………………3
24系统构架图……………………………………………………………………………………4
第三章 Android开发环境相关技术…………………………………………………………4
31 Android开发环境介绍………………………………………………………………………4
32 Android开发台搭建…………………………………………………………………………5
33相关技术介绍…………………………………………………………………………………5
第四章 程序设计……………………………………………………………………………10
41 界面设计………………………………………………………………………………………10
42 项目框架………………………………………………………………………………………13
43 功实现………………………………………………………………………………14
431 获取城市码db_weatherdb 数库文件………………………………………………14
432 实现伸缩性列表构建滤…………………………………………18
433 GPS定位功实现…………………………………………21
434 Widget窗体部件更新…………………………………………25
第五章 功测试…………………………………………………………………………27
第六章 结…………………………………………………………………………………………31
致谢…………………………………………………………………………………………………31
参考文献………………………………………………………………………………………32
第章 绪
11研究容
Android台手机气象软件基Android手机台运Java语言Google获取天气预报信息开发出针Android台手机天气预报系统
文详细介绍加载界面实时天气界面未天气界面搜索界面进行界面设计实现目户够更加赏心悦目体验软件带服务通界面布局控件应等相关容学Android台界面开发工作初步解次开发程够基掌握容软件开发够帮助户时搜索中国气象局提供全国2564县级城市天气信息数显示界面美观布局合理窗口户够舒适享受软件带服务
12课题背景意义
年着智手机断普应需求日俱增应开发成热门技术Android真正意义开源智手机操作系统该系统推出立受全球移动设备厂商开发者热捧应潮流设计旨搭载Android移动设备运行实现天气状况实时更新显示方便出行生活
Android台手机气象软件开发进步扩气象信息覆盖面广公众够第时间方便快捷获取新气象预报(预警)信息便提前预防气象灾害造成损失降低时强化气象公服务职完善公服务体系改善公服务手段增加公服务产品提高公服务质量更发挥气象事业济社会发展现实性作
13发展现状趋势
Android系统推出明显优势逐渐扩市场份额美国某市场调研机构2012年发布份新报告显示2012年季度美国基Android系统智手机销售量已占全美手机销售量28份额名顶顶IPhone手机市场份额紧追占21市场份额已确定Android系统市场占业士分析着Android系统相应软件断开发应选择Android系统手机者线终端设备会越越市场霸位更新更系统出现前动摇
Google官方数显示Android电子市场(Android Market)应程序数量已突破45万年增加30万相信久会更户选择Android系统手机AndroidLinux核心手机操作台作款开放式操作系统着Android快速发展已允许开发者种编程语言开发Android应程序前Java开发Android应程序单局面受众开发者欢迎成真正意义开放式操作系统
第二章 系统分析
21 需求分析
软件App Widget应程序启动程序进行城市更新频率设置通图片文字显示前未天气状况包括温度湿度风雨雪情况等天气数通台服务获取台服务定时间间隔Google获取天气预报信息天气信息保存数库中
面描述中基解软件功需求:
(1) 启动App Widget应程序
(2) 设置界面:显示天气预报城市更新频率进行设置
(3) 显示界面:通文字图片显示前天气情况包括日期时间城市高温度低温度前温度等
(4) 详细界面:通文字图片动画显示前天气情况包括城市前天气温度风风速时显示三天天气情况
22 Android系统特点
1开放性Google开放性手机联盟合作开发androidGoogle通动行商通运营商设备制造商开发商关方结成深层次合作伙伴关系希助建立标准化开放式移动电话软件台移动产业形成开放式生态系统
2应程序界限Android应通标准API访问核心移动设备功通互联网应程序声明功提供应程序
3应程序等条件创建移动设备应程序换扩展拨号屏幕样核心组件
4应程序轻松嵌入网络应程序轻松嵌入HTMLjavascript样式表通Webview显示容
5应程序行运行Android种完整务环境应程序中行运行台运行时应程序生成通知引起注意
23 系统规划
述需求现系统分三模块:天气显示界面模块预报城市设置模块Widget桌面部件模块系统模块功:
1) 天气显示界面模块
显示指定城市三天天气状况包括日期城市名称温度风力日建议户通菜单键显示菜单更新前天气设置天气显示界面背景跳转设置预报城市界面更换预报城市
2) 预报城市设置模块
动设置预报城市手动设置二部分组成动设置实现GPS定位功动确定前户手动设置通伸展性拉列表单击选择系统数库中预存城市进行设置时方便户查找支持输入框形式滤查询预报城市单击选中城市时跳转天气显示界面显示该城市三天天气状况第次运行时动跳该界面
3)Widget桌面部件模块
方便户实时解天气状况特添加Android系统桌面显示前天气时间天气部件户起手机第时刻解天气时户单击部件时动跳转天气显示界面显示三天详细天气
24 系统构架图
图24系统构架图
第三章Android开发环境相关技术
31 Android开发环境介绍
Android台Java编程语言开发应程序Android提供Java核心支持考虑Java虚拟机执行效率占资源情况Google重新设计Java编译器命名DalvikDalvik优化Java编译器允许限存中时运行虚拟机实例Dalvik应作独立Linux进程执行独立进程防止虚拟机崩溃时候程序关闭
项目开发Eclipse环境中进行进行Android应程序开发需Eclipse安装ADT插件Android开发工具样EclipseAndroid SDK建立连接Eclipse中启动Android模拟器调试程序等工作
简言需软件搭建Android开发环境进行Android应程序开发
Java SDK
Eclipse
Android SDK
ADT
32 Android开发台搭建
Android开发台搭建步骤:
①首先httpwwweclipseorgdownloads载Eclipse集成开发环境解压里推荐载Java EE 集成版台搭建省少工作接着httpjavasuncomjavasedownloadsindexjsp 站点载安装载httpdlgooglecomandroidandroidsdkwindows15_r1zipAndroid SDK15解压第步载工序结束
②双击Eclipse解压目录中eclipseexe然启动选择Eclipse菜单中Help> Install New Software> 选项卡Available Software点击右侧Add输入httpdlsslgooglecomandroideclipse确定然Work with拉菜单中选择刚输入网址会会出现Developer Tools选项勾点击NextEclipse会动网查找Android 开发工具插件然找Android DDMSAndroid Development Tools选中两点击FinishEclipse会动载安装Android插件会提示重启Eclipse
③重启选择Eclipse菜单中Windows> Preferences 左侧Android项目中SDK Location中填入Android SDK解压目录然点击Apply
④WindowsXP系统变量中path变量中添加值该值指解压Android SDK目录tools文件夹
33相关技术介绍
331 Activity
Android应程序中活动Activity通常单独界面界面实现独立类Activity基类中继承Activity会显示空间组成户接口事件做出响应数应Activity显示组成例第界面显示加载界面第二界面显示实时天气界面第三界面显示未周天气界面
里界面Activity容易界面新界面完成新Activity新界面开前界面会暂停保留历史栈中户返回历史栈中前界面界面时历史栈中删
简单理解Activity代表户界面处理应程序整体性工作例监听系统事件(键事件触摸屏事件等)户显示指定View启动Activity等应Activity继承androidappActivity类该类Android提供基层类Activity继承该父类通父类方法实现种功种设计领域较常见
332 Intent
Android基设计理念鼓励减少组件间耦合Android提供Intent(意图)Intent提供种通消息系统允许应程序应程序间传递Intent执行动作产生时间Intent激活Android应三核心组件:活动服务广播接收器
Intent划分显示意图隐式意图显示意图调IntentSetClass方法明确制定组件名Intent显示意图显示意图明确制定Intent应该传递组件应部隐式意图没明确指定组件名Intent隐式意图Android系统会根隐式意图中设置动作(action)类(category)数(URI数类型)找合适组件处理意图
Intent负责应中次操作动作动作涉数附加数进行描述Android根Intent描述负责找应组件 Intent传递调组件完成组件调Intent里起着媒体中介作专门提供组件互相调相关信息实现调者调者间结构
333 Service
果Activity喻前台程序Service台程序Service整生命周期会台执行Service Activity样
Intent调Service台运行没界面处理耗时较长Service单独进程单独线程Service两种类型:
服务(Local Service):应程序部
远程服务(Remote Sercie):android系统部应程序间
前者实现应程序耗时务查询升级信息占应程序Activity属线程单开线程台执行样户体验较者应程序复例天气预报服务应程序需写样服务调已
Service生命周期ServicestartServicebindService两种启动Service方法种方法Service生命周期样
通startService() —— Service会历 onCreate > onStartCommand()stopService时候直接onDestroy果调者直接退出没调stopService话Service会直台运行次调者起然stopService
通bindService() —— Service会运行onCreate()>onBind() 时候调者Service绑定起 unbindService时候onUnbind() > onDestroyed()调者退出Srevice会调onUnbind() > onDestroyed()里需注意ServiceonCreate方法会调次少次startService bindServiceService创建次果先bindstart时候直接运行ServiceonStart方法果先startbind时候直接运行onBind方法果先bindstop掉先UnbindService StopService先start先bind行区
334 Layout布局
布局方式种线性布局(Linear Layout)相布局(Relative Layout)表格布局(Table Layout)网格视图(Grid View)标签布局(Tab Layout)列表视图(List View)绝布局(Absolute Layout)文设计采线性布局(Linear Layout)线性布局做简单介绍
线性布局 LinearLayout:线性布局布局中常方式RadioGroup TabWidgetTableLayoutTableRowZoomControls类父类LinearLayout子元素垂直水方式排成行(设置方时候默认垂直方排列)LinearLayout设置垂直水属性值排列子元素子元素堆放元素垂直列
表行会元素宽水列表会行高(高度高子元素高度加边框高度)LinearLayout保持子元素间间隔互相齐(相元素右齐中间齐者左齐)
LinearLayout支持单独子元素指定weight 处允许子元素填充屏幕剩余空间避免屏幕中串象挤成堆情况允许放填充空白子元素指定weight 值剩余空间会子元素指定weight例分配子元素默认weight值0例果三文框中两指定weight值1两文框等例放填满剩余空间第三文框会放
335 控件介绍
1 TextView —— 文控件显示文字标签样者认html中spanTextView设置显示文样设置字体字体颜色字体样式TextView包含子类:Button CheckedTextViewChronometerDigitalClockEditText简单介绍TextView属性:
androidid —— 控件标识符
androidlayout_width —— 设置控件宽度
androidlayout_height —— 设置控件高度
androidlayout_marginTop —— 设置文外边距
androidtextSize —— 设置文文字
androidpaddingLeft —— 设置元素左边距
2 Button —— 钮控件button部放置容文图