安卓天气预报课程设计(终审稿)
- 格式:docx
- 大小:709.42 KB
- 文档页数:30
石家庄铁道大学Android系统课程设计报告2016 年夏季学期题目:基于Android的天气预报开发学院:电气与电子工程学院专业:电子信息工程学生姓名:学号:指导教师:完成日期:2016年7月15日评分表说明:项目一,考察程序运行情况。
项目二,考察完成情况包括功能完整性,工作量,界面,用户体验等。
项目三,考察课程设计报告的格式和完整性。
摘要随着移动通信技术的发展和无线数据业务的进步,手机已被赋予了除通话以外的其它许多功能。
全新的手机软件领域已逐渐聚焦了众多软件开发商的目光,软件开发者和软件用户将共同面临这个振奋人心的新境界。
本设计使用Android设计技术开发了一种运用在Android系统上的手机天气预报软件系统,本系统通过选择城市来获得天气,风向,风向,温度等信息。
基于手机的天气预报系统软件可以使用户对于各地的天气情况的实时掌握,极大的方便了用户的出行和行程安排,避免了不必要的麻烦,具有很强的实用性。
关键词:Android;手机天气预报软件。
目录第1章绪论 ............................................................................................ 错误!未定义书签。
1.1 课题研究内容 (1)1.2 课题研究的目的和意义 (1)1.3 课题研究前景 (2)第2章系统需求分析 (3)2.1 系统功能需求 (3)2.2 系统流程图 (3)2.3 系统界面需求 (4)2.4 系统性能需求 (4)第3章详细设计和功能实现 (5)3.1 界面的设计 (5)3.1.1 欢迎界面设计 (5)3.1.2 菜单界面设计 (6)3.2 各模块详细设计 (6)3.2.1 欢迎模块设计 (6)3.2.1 主工程设计 (7)第4章软件测试 (15)4.1 电脑模拟器测试 (15)4.2 手机端测试 (17)第5章总结与展望 (18)5.1 总结 (18)5.2 不足与展望 (18)参考文献 (19)附录 (20)重要程序1 (18)重要程序2 (18)一、绪论Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
安卓天气项目课程设计一、课程目标知识目标:1. 学生能理解并掌握安卓应用开发的基本知识,包括界面设计、数据存储和异步任务。
2. 学生能够运用所学知识,实现一个功能完整的天气查询应用。
3. 学生理解并掌握JSON数据的解析方法,能够将其应用于天气信息的获取。
技能目标:1. 学生通过动手实践,提升编程能力,能够独立完成安卓应用的界面搭建和逻辑编写。
2. 学生通过项目实践,掌握在安卓应用中调用第三方API的方法,提高解决实际问题的能力。
3. 学生通过团队合作,提升沟通协调能力和项目协作能力。
情感态度价值观目标:1. 学生培养对编程的兴趣和热情,增强对信息技术的认同感。
2. 学生通过解决实际问题,体验科技带来的便利,培养创新意识和实践精神。
3. 学生在团队合作中,学会尊重他人,培养责任感和集体荣誉感。
课程性质:本课程为实践性课程,以项目为导向,结合课本知识,让学生在动手实践中掌握安卓应用开发技能。
学生特点:学生为高年级学生,具备一定的编程基础,思维活跃,喜欢挑战性任务。
教学要求:教师需关注学生的个体差异,提供个性化指导,确保学生在项目实践中掌握课程知识,实现学习目标。
通过项目评估,检验学生的学习成果。
二、教学内容1. 安卓应用开发基础- 界面设计:Activity生命周期,布局管理器(如LinearLayout, RelativeLayout),常用控件(如Button, TextView)的使用。
- 数据存储:SharedPreferences和SQLite数据库的使用。
- 异步任务:AsyncTask的使用,网络请求(如使用HttpURLConnection或Volley)。
2. 第三方API调用- 了解HTTP协议,掌握GET请求的使用。
- JSON数据格式解析:使用JSONObject和JSONArray处理数据。
3. 天气应用项目实践- 界面设计:搭建天气查询主界面,显示天气信息的列表界面。
- 数据获取:调用天气API,获取实时天气数据。
目录摘要 (1)需求分析 (2)一、开发背景 (2)二、项目需求分析 (2)总体设计 (2)一、系统规划 (2)二、系统功能界面 (3)1. 设置预报城市界面: (3)2.天气显示界面: (4)3.Widget 桌面小部件界面: (5)三.设计目标 (6)系统设计 (6)一、开发及运行环境 (6)二、数据库设计 (6)三、主要方法及步骤 (7)四、主要方法及技术 (7)主要模块 (7)一、项目框架 (7)二、主要功能实现 (8)1.获取城市码 db_weather.db 数据库文件 (8)2.实现可伸缩性列表的的构建与过滤 (12)3.GPS 定位功能的实现 (15)4.Widget 窗体小部件的更新 (18)功能测试 (19)结论 (23)摘要Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了 PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。
在这个互联网繁荣的时代,有一颗超新星,以它独特性能优势与人性化的UI设计使它在短短的几年迅速的占领了智能移动设备的市场份额,它就是Google的 Android!这也意味着 Google在移动互联网时代开始抢跑并领跑。
Android是基于Linux平台完全开源的手机操作系统,同时开发语言为Java,这对于 Java开发的我们是何等的诱人,程序员的技术要与时代同行,因此我选择了以 Android为平台的手机天气预报系统来作为我的毕业设计,选择手机天气预报系统不仅可以提升技术,同时也很实用,为人们时刻了解天气状况和出行带来了方便。
1需求分析一、开发背景近几年来随着 3G技术成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。
在Google和Android手机联盟的共同推动下,Android在众多移动应用开发平台中脱颖而出。
基于Android平台的天气预报系统设计基于Android平台的天气预报系统设计天气预报是人们日常生活中不可或缺的信息之一,无论是为了出行还是安排活动,对天气情况的了解都有着重大的意义。
为了满足用户对天气预报的需求,本文将基于Android平台设计一款天气预报系统。
一、系统需求分析1. 用户需求用户对天气预报系统的主要需求包括实时天气信息、七天内的天气预报、城市切换等功能,并能够提供准确、可靠的天气数据。
2. 数据需求系统需要从可靠的天气数据源获取相关天气数据,包括温度、湿度、风力、风向等信息,并需要支持多个城市的数据查询。
3. 功能需求系统需要提供以下功能:(1)实时天气信息展示:根据用户选择的城市,显示当前城市的实时天气信息,包括温度、湿度、天气状况等。
(2)天气预报:显示未来七天内的天气预报,包括每天的温度范围、天气状况等。
(3)城市切换:支持用户根据需求切换城市,以获取不同城市的天气预报。
(4)数据更新:系统需要能够自动定时更新天气数据,以保持数据的准确性。
二、系统设计1. 界面设计系统的主要界面包括实时天气信息展示界面和天气预报界面。
实时天气信息展示界面会显示当前城市的温度、湿度、天气状况等信息,以及一张相关的天气图片。
天气预报界面会显示未来七天内的天气情况,包括每天的温度范围、天气状况等。
2. 数据获取与处理系统需要通过网络请求从可靠的天气数据源获取相关天气数据。
获取到的数据可以通过JSON格式进行解析,并存储到系统数据库中,以便后续的展示和查询。
3. 功能实现(1)实时天气信息展示:系统会在主界面上显示当前城市的实时天气信息。
通过定时请求服务器接口,获取最新的天气数据,并更新到界面上。
(2)天气预报:在天气预报界面中,系统会显示未来七天内的天气预报。
利用已储存的数据,将七天内的天气数据一一展示出来,包括日期、温度范围、天气状况等。
(3)城市切换:用户可以通过系统提供的城市切换功能,选择不同的城市。
安卓天气通课程设计一、课程目标知识目标:1. 学生理解安卓应用开发的基本原理,掌握天气应用的相关知识。
2. 学生了解并掌握使用网络API获取实时天气信息的方法。
3. 学生掌握在安卓应用中使用SQLite数据库存储数据的技术。
技能目标:1. 学生能够运用所学知识,独立设计并开发一款简易的安卓天气应用。
2. 学生通过实践,提升问题解决能力和团队协作能力。
3. 学生学会使用各类开发工具,如Android Studio、SQLite等,并能够灵活运用。
情感态度价值观目标:1. 培养学生对编程和科技的兴趣,激发创新意识。
2. 培养学生面对困难勇于挑战、善于克服的良好品质。
3. 增强学生的环保意识,认识到实时关注天气变化对生活、学习的重要性。
本课程针对高年级学生,结合学科特点和教学要求,以实用性为导向,旨在提高学生的实践操作能力和创新思维。
课程内容紧密联系课本知识,确保学生在掌握基础知识的同时,能够学以致用,培养实际开发能力。
通过分解课程目标为具体的学习成果,有助于教师在教学设计和评估过程中,更好地关注学生的学习进度和成长。
二、教学内容1. 安卓应用开发基础:- Android Studio使用方法- 基本界面布局与控件使用- 事件处理与界面交互2. 网络编程与API调用:- HTTP协议基础- 网络请求库(如Retrofit、OkHttp)的使用- 天气API获取与解析3. 数据存储技术:- SQLite数据库基础操作- 数据库在安卓应用中的使用4. 天气应用设计与实现:- 界面设计及美观性优化- 功能模块划分与实现- 应用调试与优化教学内容安排与进度:第一周:安卓应用开发基础,学习Android Studio使用方法,界面布局与控件使用。
第二周:事件处理与界面交互,为天气应用设计界面原型。
第三周:网络编程与API调用,学习HTTP协议和天气API的使用。
第四周:数据存储技术,掌握SQLite数据库在安卓应用中的使用。
安卓开发天气课程设计一、课程目标知识目标:1. 掌握安卓开发中网络请求的使用,了解如何通过API获取天气数据;2. 学会使用JSON解析天气数据,提取所需信息;3. 熟悉安卓界面设计,掌握常用布局和控件的使用,实现天气信息的展示。
技能目标:1. 能够独立完成一个简单的天气查询APP,实现查询指定城市的天气功能;2. 培养学生解决实际问题的能力,将所学知识应用于实际项目中;3. 提高学生的编程能力和团队协作能力,通过项目实践,学会分工合作,共同完成任务。
情感态度价值观目标:1. 激发学生对编程的兴趣,培养学习热情,提高自主学习的积极性;2. 培养学生面对问题的积极态度,敢于挑战,勇于克服困难;3. 增强学生的环保意识,通过了解天气变化,关注气候变化,培养学生的社会责任感。
课程性质:本课程为实践性课程,旨在让学生通过实际操作,掌握安卓开发的基本技能,学会应用所学知识解决实际问题。
学生特点:学生具备一定的编程基础,对安卓开发有一定了解,但实际操作能力有待提高。
教学要求:注重实践操作,以学生为主体,教师引导学生主动探究,培养学生解决问题的能力。
在教学过程中,关注学生的个体差异,提供个性化指导。
通过课程学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。
二、教学内容1. 网络请求基础:讲解HTTP协议,介绍使用OkHttp库进行网络请求的方法,包括GET请求的使用和异常处理。
相关教材章节:第十章 网络编程,第三节 HTTP网络请求。
2. JSON解析:讲解JSON数据格式,学习使用Gson库进行JSON数据的解析,提取天气信息。
相关教材章节:第十章 网络编程,第四节 数据解析。
3. 界面设计:复习安卓常用布局(如LinearLayout、RelativeLayout等),控件(如TextView、ImageView等)的使用,设计天气展示界面。
相关教材章节:第六章 用户界面设计,第一、二节 布局与控件。
基于Android系统的天气预报APP设计1.引言近年来,随着智能手机用户数量的迅速增长,手机应用程序(APP)的开发步入了一个快速进步的阶段。
其中,天气预报APP因其好用性和广泛需求而成为了用户下载最多的APP之一。
为了满足用户对天气预报的需求,本文将设计一个基于Android系统的天气预报APP,旨在提供准确、好用、便利的天气预报功能,通过天气数据的得到和展示,援助用户合理打算平时生活和出行活动。
2.功能需求分析天气预报APP的核心功能是提供准确的天气预报信息。
除此之外,依据用户的需求和市场实际状况,我们还可以为APP添加以下功能:(1)实时天气展示:每日天气的展示包括天气预报的动态更新、实时温度、湿度、风向风力等指标的展示,同时可以提供天气现象的图标以及简易的天气状况文字描述。
(2)生活指数推送:依据天气状况,推送用户相关的生活指数,例如穿衣指数、运动指数、空气质量指数等。
(3)城市切换和定位:用户可以通过手动切换城市来得到其他城市的天气预报信息,同时也可以通过定位功能自动得到所在城市的天气预报。
(4)天气趋势猜测:通过历史天气数据的分析和猜测模型的建立,猜测将来数天的天气走势,提供给用户参考。
(5)天气预警信息:当遇到恶劣天气或气象灾难时,准时向用户发送天气预警信息。
(6)多语言支持:支持多国多语言,使宽广用户更加便利地使用APP。
3.系统架构设计(1)用户界面设计:接受简洁、直观的用户界面设计,使用户能够快速上手操作,同时思量到不同尺寸和区分率的Android设备,适配不同屏幕。
(2)数据得到和处理:通过与天气服务提供商合作,从全球范围内得到天气数据,包括天气现象、温度、湿度、风力风向等数据。
同时,对于历史数据的处理和分析,以及对将来天气的猜测,需要建立相应的算法模型。
(3)定位功能:利用手机的GPS功能进行定位,得到用户当前所在的城市信息,为用户提供准确的定位天气预报。
(4)后台服务:需要实现一个稳定的后台服务,负责数据的更新和推送,同时对于天气预警信息的接收和推送也可以通过后台服务实现。
基于Android平台的天气预报系统设计一、引言随着挪动互联网的快速进步,人们对于天气预报的需求也越来越高。
天气预报系统成为了人们平时生活中不行或缺的一部分,通过天气预报系统,人们可以便利地得到准确的天气信息,从而做好相应的筹办。
近年来,基于Android平台的天气预报系统开始受到人们的关注和使用。
本文旨在探讨基于Android平台的天气预报系统的设计。
二、系统需求分析1.功能需求(1)实时天气查询:用户可以依据所在位置或者指定地点查询实时天气状况;(2)将来天气猜测:用户可以查看将来一周内的天气猜测,包括温度、湿度、风力等信息;(3)城市切换:用户可以切换不同城市的天气信息;(4)气象预警:系统可以准时推送气象预警信息给用户,以便用户做好相应的应对措施;(5)天气统计:系统可以对历史天气数据进行统计分析,提供数据可视化展示。
2.性能需求(1)响应时间:系统应能够准时响应用户的查询请求,并在短时间内返回准确的结果;(2)稳定性:系统应具备稳定的运行性能,能够长时间运行而不产生崩溃等故障;(3)界面友好:系统的界面设计应符合用户的使用习惯,易于操作;(4)数据准确性:系统提供的天气数据应准确可靠,能够准时更新。
三、系统设计1.前端设计(1)用户界面:系统提供一个简洁、直观的用户界面,接受现代化的UI设计风格,用户可以通过界面进行各种操作;(2)实时天气查询:在主界面上提供实时天气查询功能,用户可以输入所在位置或者选择城市进行查询;(3)将来天气猜测:用户在查询完实时天气后,可滑动屏幕或点击按钮查看将来一周内的天气猜测;(4)城市切换:用户可以在设置中切换不同城市,系统会依据城市来更新天气数据;(5)气象预警:系统可在主界面上以弹窗或通知的形式提示用户气象预警信息;(6)天气统计:用户可以在设置中查看历史天气数据的统计信息(如最高温度、最低温度、降雨量等),系统通过图表等方式展示数据。
2.后端设计(1)数据收集与处理:系统通过网络接口得到天气数据,包括实时天气和将来天气猜测,服务器端负责数据的收集和处理;(2)数据存储:系统将得到的天气数据存储在本地数据库中,以便用户离线时也能够查询到天气信息;(3)数据更新:系统每隔一段时间自动更新天气数据,保证用户得到的天气信息是最新的;(4)数据校验:系统在接收到天气数据后进行校验,确保数据的准确性和完整性;(5)数据分析:系统能够对历史天气数据进行分析和统计,将结果呈现给用户。
基于安卓的天气预报毕业设计
摘要:
本篇毕业设计基于安卓平台,设计并实现了一款天气预报应用。
该应用可以提供当日和未来几天的天气信息,并能根据用户所在位置自动更新天气数据。
应用根据收集到的数据生成图标化的天气情况,并提供用户友好的界面与交互。
关键词:安卓平台、天气预报、应用、界面、交互
1. 引言
2. 系统设计
2.1 应用结构
本应用采用MVC(Model-View-Controller)设计模式,将业务逻辑、用户界面和数据分离。
Model层负责与天气数据源进行通讯和处理,同时提供数据给View和Controller 层。
View层负责界面展示,Controller层负责用户交互和数据控制。
2.2 数据获取与处理
应用通过访问相关天气预报API来获取实时天气和未来几天的预测信息。
API返回的数据经过处理和解析后,存储到本地数据库中。
2.3 用户界面设计
应用提供简洁、直观的用户界面,使用各种图标和颜色来展示天气情况。
用户可以通过滑动屏幕查看不同时间段的天气信息,也可以点击具体日期查看该日期的气象信息。
3. 实施与结果
3.1 技术选型
本应用使用Java语言进行开发,使用Android Studio作为开发环境。
应用的界面使用Android自带的UI组件和自定义View进行开发,数据库使用SQLite进行存储。
3.2 功能实现
应用实现了以下功能:天气数据获取与展示、定位功能、数据缓存、气象信息图表展示等。
应用在不同屏幕尺寸的设备上均可以正常运行,并具有较好的响应速度。
4. 总结与展望。
安卓天气预报课程设计一、课程目标知识目标:1. 学生能够理解安卓应用开发的基本流程和关键概念;2. 学生能够掌握使用Java语言进行安卓应用编程的基本技巧;3. 学生能够掌握调用和解析网络API的方法,并应用于实际项目中;4. 学生理解并掌握如何使用安卓界面设计元素,如Activity、ListView和Intent等。
技能目标:1. 学生能够独立完成一个具有基本功能的安卓天气预报应用程序;2. 学生通过编程实践,培养解决问题的能力和逻辑思维能力;3. 学生能够运用所学的知识,进行安卓应用调试和测试,确保程序的稳定性和可用性。
情感态度价值观目标:1. 学生通过小组合作开发应用,培养团队合作意识和沟通能力;2. 学生在课程中培养对编程和安卓应用开发的兴趣,激发创新意识和探究精神;3. 学生意识到科技对于生活的改变和影响,增强社会责任感和对技术的尊重。
课程性质:本课程为实践性强的信息技术课程,结合当前流行的安卓开发技术,通过项目驱动的教学方式,让学生在动手实践中掌握知识。
学生特点:学生为高年级中学生,具备一定的编程基础和逻辑思维能力,对智能手机和应用程序有较高的兴趣。
教学要求:教学过程中注重理论与实践相结合,强调学生的主动参与和动手实践,通过项目开发培养学生的综合技术应用能力。
教学目标分解为具体可衡量的学习成果,为教学设计和评估提供明确依据。
二、教学内容1. 安卓应用开发基础:- 了解安卓系统架构和开发环境搭建;- 学习Activity生命周期和界面布局;- 掌握基本控件的使用,如TextView、Button、EditText等;- 理解并使用Intent进行界面跳转。
2. Java编程基础:- 复习Java基本语法和数据类型;- 掌握面向对象编程思想,如类、对象、继承和多态;- 学习使用Java异常处理和文件操作。
3. 网络编程与API调用:- 学习HttpURLConnection或OkHttp进行网络请求;- 解析JSON数据,获取天气预报信息;- 掌握异步任务处理,提高应用性能。
安卓天气预报课程设计公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]石家庄铁道大学Android系统课程设计报告2016 年夏季学期题目:基于Android的天气预报开发学院:电气与电子工程学院专业:电子信息工程学生姓名:学号:指导教师:完成日期: 2016年7月15日评分表说明:项目一,考察程序运行情况。
项目二,考察完成情况包括功能完整性,工作量,界面,用户体验等。
项目三,考察课程设计报告的格式和完整性。
摘要随着移动通信技术的发展和无线数据业务的进步,手机已被赋予了除通话以外的其它许多功能。
全新的手机软件领域已逐渐聚焦了众多软件开发商的目光,软件开发者和软件用户将共同面临这个振奋人心的新境界。
本设计使用Android设计技术开发了一种运用在Android系统上的手机天气预报软件系统,本系统通过选择城市来获得天气,风向,风向,温度等信息。
基于手机的天气预报系统软件可以使用户对于各地的天气情况的实时掌握,极大的方便了用户的出行和行程安排,避免了不必要的麻烦,具有很强的实用性。
关键词:Android;手机天气预报软件。
目录第1章绪论 ......................................... 错误!未定义书签。
课题研究内容 (1)课题研究的目的和意义 (1)课题研究前景 (2)第2章系统需求分析 (3)系统功能需求 (3)系统流程图 (3)系统界面需求 (4)系统性能需求 (4)第3章详细设计和功能实现 (5)界面的设计 (5)欢迎界面设计 (5)菜单界面设计 (6)各模块详细设计 (6)欢迎模块设计 (6)主工程设计 (7)第4章软件测试 (15)电脑模拟器测试 (15)手机端测试 (17)第5章总结与展望 (18)总结 (18)不足与展望 (18)参考文献 (19)附录 (20)重要程序1 (18)重要程序2 (18)一、绪论Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
Android操作系统最初由Andy Rubin开发,主要支持手机。
2005年8月由Google收购注资。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。
Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。
2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
课题研究内容本课题研究的是基于Android平台下的天气软件,目的是使用户能随时随地的查询天气信息及天气变化情况,让生活更加舒适方便。
本文讲述Android平台下天气软件的界面设计以及数据的获取和解析,主要包括界面的实现,控件的使用,界面的布局和数据处理等内容,结合中国气象网的天气数据,将准确的天气情况以友好的方式呈现给用户,使用户更加赏心悦目的体验本软件的服务。
通过对界面的布局及控件的应用等相关内容的学习,使我们对Android平台下界面开发工作有一个初步的了解,并且经过这次开发过程,能够基本掌握这些内容。
研究目的和意义天气软件是一种非常实用的信息服务,随着智能手机的不断普及,各种智能手机平台下都有各种各样的天气软件。
Android作为现在主流的智能手机之一,自然也需要这方面的软件。
天气关系到人们的日常生活,如告知温暖,方便出行等。
一款简单实用的天气软件会很吸引用户。
基于Android平台的天气软件已经有很多,经过分析,用户第一眼往往是一个软件的外观,一个好看的界面才能让用户以一种爱美之心去尝试,才能进一步了解一个软件的好坏,所以吸引眼球的界面是争取用户的第一步。
因此,界面设计工作对应用程序来说非常重要,在界面上吸引了用户,才能进一步让用户体验应用程序中的功能,使用这个软件。
研究前景Android最吸引人的特点是开源特性,因其开源,允许所有人对其代码进行开发和修改,同时又由于其代码的简单易学性,Android在全世界拥有众多的粉丝。
Android在中国的前景十分广阔,首先是有成熟的消费者,在国内,Android社区十分红火,这些社区为Android在中国的普及做了很好的推广作用。
国内厂商和运营商也纷纷加入了Android阵营,包括中国移动,中国联通,中兴通讯,华为通讯,联想等大企业,同时不仅仅局限于手机,国内厂家也陆续推出了采用Android系统的产品,我们可以预见Android将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。
Android采用了软件层(Software stack)的构架,主要分为三个部分。
底层以Linux为内核作为基础,由C语言开发,只提供基础功能,中间层次包话函数库和虚拟机,由C++开发。
最上层是各种应用软件,包话通话程序,短信程序。
应用软件可以由各公司或个人自行开发,以JAVA编写。
二、系统需求分析系统功能需求1.可以罗列出全国所有的省市县。
2.可以查看全国任意城市的天气信息3.可以自由的切换程式去查看其他城市的天气4.提供手动更新以及后台自动更新天气的功能系统流程图图系统流程图系统界面需求根据应用程序的功能需要,对用户界面做如下分析:实时天气界面:显示城市当前的实时天气状况,包括城市名称、城市名片、天气情况、温度高低、星期等信息。
界面左边有一列城市列表,显示中国各个城市名称,当用户想知道哪个城市的天气情况时,点击这个城市名就可以获取天气状况,考虑到使软件占用尽量小的内存,软件去掉了不必要的花哨,显示城市名称,城市名片,温度和天气情况,同时对未来6天的天气情况简要描述,简要显示星期、天气描述、温度高低等数据,使用户一目了然,使人们及时了解天气变化,对日常生活出行、穿衣做好准备。
系统性能需求1.应用程序能根据中国天气网接口返回的数据准确的显示地区天气信息。
2.应用程序响应时间应在人的感觉和视觉范围内,系统响应时间足够迅速。
3.应用程序在及以上版本运行时,应具有适应能力,能稳定运行。
4.应用程序操作界面简单明了,易于操作。
三、详细设计和功能实现界面的设计欢迎界面的设计欢迎界面,采用简洁明了的布局,添加了一个button点击事件,点击即可跳转到主界面即省份选择菜单。
如图所示图欢迎界面菜单界面设计菜单界面菜单界面采用列向布局和子菜单。
这样直观明了,简洁清晰。
(当为省份时标题栏显示中国),省份,城市。
如图所示a b注:a为省份菜单,b为市级菜单各模块详细设计欢迎模块设计1.新建一个WelcomeActivity类,并让它继承Activity类。
任何活动都应该重写onCreate()方法。
public class WelcomeActivity extends Activity{protected void onCreate(Bundle savedInstanceState) {(savedInstanceState);}}2.新建一个布局文件,命名为welcome_layout,根元素选择为LinearLayout。
创建成功后,再LinearLayout下添加背景添加语句:android:background="@drawable/b"添加一个按钮,用于点击事件的触发:<Buttonandroid:id="@+id/button1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="点击查询天气" />在WelcomeActivity里,关联布局文件和实例化button.然后添加onClick,构造出一个intent,传入WelcomeActivity上下文,传入为目标活动。
即在WelcomeActivity这个活动的基础上打开ChooseAreaActivity这个活动。
然后通过startActivity()方法来执行这个intent。
setContentView Button button1=(Button)findViewById(new OnClickListener(){public void onClick(View v){Intent intent=new Intent,;startActivity(intent);主工程设计第一阶段1.新建工程命名为coolweather。
为了让项目有更好的结构。
需要在包下再新建一个包,如图所示。
图新建包构架其中activity包用于存放所有活动代码,db包用于存放所有数据库相关的代码,model包用于存放所有模型相关的代码,receiver包用于存放所有广播相关的代码,service包用于存放所有服务相关的代码,util包用于存放所有工具相关的代码。
2.创建数据库和表,这样从服务器获取的数据才能够存储到本地。
表的设计这里建立三张表,Province,City,County,分别用于存放省,市,县的各种数据信息,三张表的建表语句如下(以county表为例)County:create table County(id integer primary key autoincrement,county_name text,county_code text,city_id integer)其中id是自增长主键,county_name表示县名,county_code表示县级代号,city_id是county表关联city表的外键。
接下来将建表语句写入到代码中。
在db包下新建CoolWeatherOpenHelper类,用于province,city,county的建表。
核心代码如下所示。
public void onCreate(SQLiteDatabase db) {每张表创建一个对应的实体类。
在model下分别新建Province类,city类,county类。
实体类非常简单,基本就是对应字段的get和set方法。
类的创建如图所示。
图实体类4.创建一个CoolWeatherDB类,这个类将会把一些常用的数据库操作封装起来,以方便后面使用。