基于Android平台的乐报天下系统设计与实现.doc_第1页
基于Android平台的乐报天下系统设计与实现.doc_第2页
基于Android平台的乐报天下系统设计与实现.doc_第3页
基于Android平台的乐报天下系统设计与实现.doc_第4页
基于Android平台的乐报天下系统设计与实现.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学校代码: 11059 学 号:0805070316Hefei University 毕业论文(设计)BACHELOR DISSERTATION 论文题目:基于Android平台的乐报天下系统设计与实现 学位类别: 工学学士 年级专业: 通信工程(1)班 作者姓名: 林芸 导师姓名: 胡国华 完成时间: 2012年5月 基于Android平台的乐报天下系统设计与实现中 文 摘 要当今的手机世界,是Android的天下。Android是一个开源的手机系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验。因此,对于软件从业人员来说,Android平台具有无限的吸引力。“乐报天下”软件是一款集日历显示、天气查询和音乐休闲为一体的多功能软件。它摆脱了传统软件进行天气查询及时间提醒的单一和枯燥,将用户多方面的需要加以整合并同时显示,为用户带来更多的移动体验。本文首先给出了系统研究背景,对当前手机操作系统发展做了简单的介绍。进而详细的分析了Android的特征、架构、以及Android应用的构成和工作机制,并对Android于其他手机操作系统进行了比较,说明了Android在手机操作系统中的优势。本系统主要利用Java和Eclipse开发工具,基于Android智能手机系统设计,集合了天气查询、日历显示、音乐休闲三个主要功能,并且以天气查询结果为主线,实现三者的关联。同时给出了详细的系统设计过程、部分界面图以及主要功能运行流程图。关键词:Android;乐报天下;开源;查询The Design and Implementation of MusicReporterWorld(MRW) Based on the Android PlatformABSTRACTToday the overlord of cellphone is Android. Android is an open source phone system which is based on Linux.The members of OHA can use and edit the packet of SDK.Open source make the system has the good expansibility. The great feature of Android is the open architecture,not only has it the great environment of development or debugging,and also support any scalable user interface.Thus,for software professionals,Android platform has unlimited attractive. MusicReporterWorld(MRW) is a multi-function software which is combined weather inquiry,calendar view and music player.Its not as simple as those traditional softwares,but combines the users requierment and display.It brings better experience for users.This article first to study the background of the current systems and made a brief introduction of mobile operating system. Then detailed analysis of the the characteristics, a schema about the android ,the android application forms and mechanisms, and compared the android with the other operating system.This system uses the development language of java and the development tool of eclipse and based on the platform of Android.Its combined three function of weather inquiry,calendar and music.With the weather result,it can achieve the association among them.Meanwhile, there are the details of the design process, the part of interface and the flow chart of the main function.KEYWORD: Android;MRW;open source;inquiry目录第一章 前言11.1国内外手机系统现状11.2国内外手机应用现状21.3项目背景21.4研究内容31.5研究意义4第二章 Android相关技术介绍52.1功能特征52.2程序架构62.2.1应用程序框架72.2.2系统运行库8第三章 系统需求分析93.1研究目标93.2可行性分析93.3功能性需求分析103.3.1系统主功能流程图103.3.2天气查询模块UML类图113.3.3日历查询模块123.4非功能性需求分析133.4.1整体要求133.4.2软件生命周期14第四章 系统开发环境设置164.1 Android开发环境介绍164.2 Android开发平台搭建16第五章 程序开发195.1 文件结构与用途195.2 UI界面设计205.3 主界面设计215.3.1 标签页设计215.3.2 布局文件设计245.4 天气模块设计255.4.1 天气API接口255.4.2 天气详情显示275.5 日历模块设计295.5.1 日历绘制295.6 音乐模块设计305.6.1 音乐播放模块305.6.2 歌词显示模块325.7 设置模块设计33第六章 系统测试366.1 Android SDK模拟器366.2软件测试的过程366.3测试系统时遇到的问题及解决方法40第七章 总结41参考文献42致谢43第1章 前言1.1国内外手机系统现状目前国外各软硬件厂商已经推出过多款手机操作系统。下面简单介绍一下现主流手机操作系统。现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的Symbian 操作系统。Symbian是为手机而设计的操作系统,它是一个实时性,多任务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。现在流行的Symbian系统有以下四个版本,分别为S40、S60(第二版)、S60(第三版)、S60(第五版)。S60(第五版)为触摸屏手机版本。iOS是由苹果为iPhone开发的操作系统。它主要是给iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间Windows Mobile 系列操作系统是从微软计算机的Windows操作系统演化而来的。Windows Mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置(如内存、储存卡容量等)上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。PalmOS属于Palm公司开发,是一种32位的嵌入式操作系统,是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小。现在多用Paml公司生产的手机上。该系统允许用户在其基础上编写和修改相关软件,使支持的应用程序更加丰富多彩。Palm系统与其他手机系统相比在其它方面也还存在一些不足,如Palm操作系统本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。目前国内还没有自主研发并商品化的手机操作系统。当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。同时也取得了一定成果。在2009年8月,由中国移动所主导开发OPhone平台面世。OPhone平台采用开源的Linux作为系统内核,借鉴并兼容Android平台,集成灵活高效的Java应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案。1.2国内外手机应用现状随着3G在中国的全面启动,它所带来的巨大机遇和新生力量,大规模的网络建设正不断深入展开。但不可否认的是我国在通信领域中相比许多发达国家仍然存在着不小的差距,就在国人还在为EDGE这种传输速度仅能达到384KB/秒的2.75G过渡技术而欣喜的时候,国外早已开始试行HSDPA这种3.5G技术,传输速度更可达到惊人的数兆每秒,而基于其上所开发的延伸功能更是数不胜数,所以国内外手机应用也存在的较大的差异。但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。目前国内外手机应用服务方向主要有基于地理位置的信息服务(Location Based Service LBS)它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。例如手机定位,导航服务。 近年来十分热门的网络社交服务(Social Networking Services)也已进入到手机客户端领域。例如国内有名的社交网站人人网已经针对Iphone,android,塞班等手机平台推出了手机客户端。国外最大的社交Fackbook也已经传出正在进行针对手机的产品的研发。Twiter,Myspace等国外知名社交类网站都已经推出手机版。国内淘宝网旗下口碑网在今年也已经推出针对多个手机平台的客户端程序。MSN,QQ等即时通信类的应用也已经在各个主流手机平台推出。手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在android平台上的QuickOffice就是这样的软件。在Google Market上已经有过万的企业应用办公套件。手机娱乐游戏类应用,该类应用作为传统类手机应用,在各个平台上发展已近相对完善,手机上对各种流媒体的播放也已完美的支持。各类传统PC游戏厂商进入手机领域。1.3项目背景随着智能手机的普及,智能手机的应用软件及其需要的服务有着广阔的发展前景。Android,作为一款开源智能手机操作系统,采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。其包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。Android作为谷歌最具创新的产品之一,正受到越来越多的手机厂商、软件厂商、运营商及个人开发者的追捧。Android至少有如下8件制胜法宝:1.开放性。Android平台是免费的、开源的。而且Google通过与运营商、设备制造商、开发商等机构形成的战略联盟,希望通过共同制定标准使Android成为一个开放式的生态系统。2.应用程序的权限由开发人员决定。编写过Symbian、Java ME程序的读者应该能体会到这些程序在发布时有多麻烦。而Android平台的应用程序就幸福的多。要使用限制级的API,只需要在自己的应用程序中配置一下即可,完全是DIY。这也在某种程度上降低了Android程序的开发成本。3.我的平台我作主。Android上的所有应用程序都是可替换和扩展的,即使是拨号、Home这样的核心组件也是一样。只要我们有足够的想象力,就可以缔造出一个独一无二、完全属于自己的Android世界。4.应用程序之间的无障碍沟通。应用程序之间的通信一直令人头痛,而在Android平台上无疑是一种享受。在Android平台上应用程序之间至少有4种沟通方式。很难说哪一种方式更好,但它们的确托起了整个Android的应用程序框架。5.拥抱Web的时代。如果想在Android应用程序中嵌入HTML、JavaScript,那真是再容易不过了。基于Webkit内核的WebView组件会完成一切。更值得一提的是,JavaScript还可以和Java无缝地整合在一起。6.物理键盘和虚拟键盘双管齐下,从Android 1.5开始,Android同时支持物理键盘和虚拟键盘,从而可大大丰富用户的输入选择。尤其是虚拟键盘,已成为Android手机中主要的输入方式。7.个性的充分体现。21世纪是崇尚个性的时代。Android也紧随时代潮流提供了众多体现个性的功能。例如,Widget、Shortcut、Live Wallpapers,无一不尽显手机的华丽与时尚。8.舒适的开发环境。Android的主流开发环境是Eclipse+ADT+Android SDK。它们可以非常容易地集成到一起,而且在开发环境中运行程序要比Symbian这样的传统手机操作系统更快,调试更方便。1.4研究内容本文在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的“乐报天下”软件。“乐报天下”软件实现了天气、日历、音乐三者的无缝结合,通过标签页可快速进行切换。天气查询调用谷歌开放接口,提供输入不同城市名称进行查询,通过设置保存后可记录默认城市名称。软件不仅可以查看日历,还可以添加日历备忘项,更提供闹铃提醒,各种事务不错过。不同的天气当然要对应不同的音乐,晴朗的天气总是要听活力的歌曲,阴郁的季节听忧伤的歌是再好不过。软件提供音乐播放,更可通过添加不同“天气”属性设置播放列表。1.5研究意义随着Android系统的飞速发展,各种功能软件也层出不穷,令人眼花缭乱。根据应用商店调研公司Distimo周二发布的数据显示,谷歌Android Market应用商店应用总数在新年之际已经突破40万个。作为一个普通的软件使用者,同时使用几个程序就意味着需要下载多个Android软件,不仅会过多的消耗手机内存,同时,在应用切换、数据关联等方面存在麻烦,还会造成信息冗余重复。“乐报天下”软件是一款集日历显示、天气查询和音乐休闲为一体的多功能软件。它摆脱了传统软件进行天气查询及时间提醒的单一和枯燥,将用户多方面的需要加以整合并同时显示,为用户的时间规划,区域信息查找提供便利,而伴随着与天气相对应的音乐播放则增加了生活趣味性,能够为用户带来更多的移动体验。身心娱乐、追求健康是当代人所追求的生活方式,也是高质量生活的标准之一。一方面在实现功能的同时,另一方面则需要让用户有愉悦的心情。第2章 Android相关技术介绍Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。2.1功能特征(l)应用程序架构:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。(2)Dalvik虚拟机器:在Android平台上所使用Java虚拟机,不是Sim公司的标准Java虚拟机,而是使用Google自主开发的代号为Dalvik的虚拟机,它在保证API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。(3)集成的浏览器:集成的浏览器是Android内建的浏览器,是以WebKit的浏览引擎为基础所开发成的。WedKit是一个开源浏览器网页排版引擎,目前使用WebKit引擎的浏览器主要有:Safari,Midori,Epiphany等。配合Android手机的功能,可以在浏览网页时,达到更好的效果,例如:局部性的缩放网页上的资讯、触控式的操作等效果。(4)优化的绘图能力:在程序里可以用到的绘图功能分为2D与3D两个方面。在2D方面,Android提供了一套特有的类库(SGL;而在3D方面则是使用OpenGLES1.0(openGL for Embedded systems)规范的类库。它们是一种非常快的图形引擎,并且支持硬件加速。(5)SQLite数据库:SQLite提供结构化的数据存取。SQLite是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。它能够支持Windows/Linux/U nix等主流的操作系统,同时能够跟很多程序语言相结合,比如php,Java等,还有ODBC接口,同样比起Mysql,PostgreSQL来讲,它的处理速度比它们都快。它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有250KB但支持数据库大小至2TB。它虽然很小巧,但是支持的SQL语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。(6)多媒体的支持能力:主要用于播放媒体文件。这同时包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”(Note:URI即是统一资源识别地址)模式在网络上直接播放的流媒体。另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF等格式。(7)GSM技术:Global System for Mobile Communications,即全球移动通讯系统,俗称”全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。(8)蓝牙、EDGE、3G及Wi-Fi:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM,Evolution),即增强型数据速率GSM演进技术。EDGE是一种从GSM到3G的过渡技术,它主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和SPSK调制技术。由于8PSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。Wi-Fi(WirelessFidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.lla和IEEE802.11b。这些通讯能力也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。(9)GPS: Global Positioning System,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统。这个系统可以保证在任意时刻和任何地点都可以同时观测到4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人。这个同样也是属于手机硬体方面的体现,也是在开发Android应用程序是可以突出的特点之一。2.2程序架构如前所述,Android 运行在 Linux 内核上。Android 应用程序是用 Java 编程语言编写的,它们在一个虚拟机(VM)中运行。需要注意的是,这个 VM 并非您想象中的 JVM,而是 Dalvik Virtual Machine,这是一种开源技术。每个 Android 应用程序都在 Dalvik VM 的一个实例中运行,这个实例驻留在一个由 Linux 内核管理的进程中,如下图所示。图1 Android程序架构2.2.1应用程序框架在Android SDK中,定义了让开发者使用与核心应用程序相同API的权限应用程序框架是为了要简化组件的重新利用而设计的,应用程序可以发布功能为其它应用程序所使用。但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置换组件。目前所有的应用程序是由服务及系统来组成,包含有:(l)一套强大和可扩展的视图系统:用来建构一个应用程序的基本组件,包了在开发系统画面时,常用的列表、网格、文本框、按钮等控制项,甚至是内嵌的Web浏览器。 (2)内容提供者:使应用程序可以访问另一个应用程序的数据(如联系人数库),或者共享它们自己的数据。(3)资源管理器:提供各种非程序代码的资源让应用程序去使用。例如:本字符串、图形文件或排版相关的布局文件。(4)通知管理器:提供应用程序在状态栏中显示应用程序自定义的提示信息。(5)活动管理器:管理所有应用程序的生命周期及提供常用的导航回退功能。例如:启动应用程序要用到的资源准备及关闭应用程序时释放内存及相关资源等工作。(6)视窗管理器:用来管理所有启动程序的视窗。(7)位置管理器:用来管理地图服务的相关功能。(8)电话管理器:用来管理用户拨打与接听电话的相关功能。(9)包管理器:管理所有安装在Android系统内的包。Android 应用程序是连同一个AndroidManifest.xml 文件一起部署到设备的。AndroidManifest.xml 包含必要的配置信息,以便将它适当地安装到设备。它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。2.2.2系统运行库Android 包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过Android 应用程序框架为开发者提供服务。以下是一些核心库:系统 C 库一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embedded linux的设备定制的。媒体库基于PacketVideo OpenCORE。该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。Surface Manager对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。LibWebCore一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。SGL底层的2D图形引擎3D libraries基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。FreeType位图(bitmap)和矢量(vector)字体显示。SQLite一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 dx 工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。第三章 系统需求分析3.1研究目标1、了解Android应用程序的设计和开发过程;2、结合多种组件进行乐报天下软件的开发。3.2可行性分析当前移动设备综合软件市场上,多功能软件在Windows Mobile、Symbian等平台中均有相关实现,但Android平台是Google新推出的移动设备操作系统,在此领域还没有相关的多功能软件客户端出现。对已经实现的多功能客户端进行分析,重用一些软件开发过程中的设计思想,可以对本系统的设计和实现给予很大的帮助。模拟客户端运行应如图所示: 图2(1) 乐报天下软件客户端模拟运行界面经过了对Android平台软件客户端的详细分析可以确定在Android平台上对乐报天下客户端的开发从技术上来说是可以实现的。 图2(2) 乐报天下软件客户端模拟运行界面3.3功能性需求分析根据项目的目标可获得项目系统的基本需求。以下我们从四个部分来描述系统的需求,即天气查询模块、日历查询与编辑模块、音乐播放模块、设置模块。以下分别描述:3.3.1系统主功能流程图系统主功能流程图如图所示,打开程序,首先启动欢迎界面。第一次打开软件时弹出小助手框提示。返回提示框后进入标签页面,四个标签分别为:天气、日历、音乐、设置。其中,以天气为主界面同时为枢纽,可通过查询得出的天气数据转到日历页或音乐页,通过设置页面可设置默认天气查询城市。图3 系统主功能流程图3.3.2天气查询模块UML类图 下图为天气查询模块UML类图:MainActivityWeatherActivity- details:Button- index :int+ onCreate (Bundle savedInstanceState)- showCity()- updateWeatherInfoView(int resourceId, CurrentWeather currentWeather)- updateWeatherForecastView(int resourceId, ForecastWeather forecastWeather)+ getCityWeather (URL url)图4 天气查询模块UML类图 3.3.3日历查询模块 日历查询模块,除了可以在页面内直接查询到日期外,还提供其他如查看记录/提醒、转到指定日期等功能,如图所示:日历查询模块退出帮助关于今天转到指定日期查看记录/提醒弹出关于dialog提醒框进入帮助界面弹出日期选择控件删除记录建立新记录修改/查看记录图5 日历查询模块流程图3.4非功能性需求分析3.4.1整体要求在系统风格方面,应该尽量做到程序结构简单明了,结构条理清晰,功能实用;而在系统界面方面,应该在设计、构思力求精巧,布局要求简单合理,系统整体风格统一。主要细节要求有下面的几个方面: 1、界面设计友好,提供良好的用户体验,体现企业级应用的特色; 2、更快的信息访问速度,网络响应速度应该尽可能地满足用户的需求; 3、更简便、智能化程度更高的程序整体流程; 系统扩展系统要具有良好的可扩展性,便于系统的维护和升级。整个系统采用弹性的架构进行设计,降低需求变更后程序修改所付出的代价。并根据需要提供多种语言支持。错误日志应用程序应提供易于查看的日志,便于系统的调试、维护和错误定位,系统日志应能保存一定的信息量,并能够记录当前的具体日志信息(时间、程序调用者等)。数据安全为避免程序中保存的数据被他人盗用,保护用户信息安全,应对程序中持久化的敏感数据进行一定的安全处理。在网络传输过程中,要对传输的数据进行一定的封装处理。在数据库操作过程中,如果事务处理出现故障,进行事务回滚以保证数据的完整性。整个程序的结构图:图6 程序结构图3.4.2软件生命周期采用软件工程的管理思想,在项目开发前选用一个合适的软件生命周期模型,是项目成功的关键因素。由于本文中系统需求较为明确,选用用软件工程中的瀑布模型作为开发模型,瀑布模型图如下所示: 用户要求更改要求分析报告系统设计报告源程序测试报告需求分析7%系统设计6%软件编程7%软件测试13%软件维护67%UAMATMMPUTPUAMPA 系统分析员M 项目管理员P 程序员T 高级程序员U 用户图7 瀑布模型示意图瀑布模型是当今应用最广泛的一个软件开发模型,其开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好返回上一个阶段并进行适当的修改,开发进程从一个阶段流动到下一个阶段。瀑布开发模型的开发阶段主要分为需求分析、系统设计、实现和测试几个阶段。在本系统开发过程中,在需求阶段通过系统功能用例图进行建模:设计阶段中进行系统总体架构,设计各模块详细设计,确定系统技术路线;系统实现部分中根据系统模块设计进行具体编码实现,在最后对系统功能进行测试工作。第四章 系统开发环境设置4.1 Android开发环境介绍Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的Java SDK。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。1、JDK安装2、Eclipse安装3、Android SDK安装4、ADT安装4.2 Android开发平台搭建(1)安装JDK1.6.11用户可下载程序JDK1.6.11,然后就解压,按步骤安装就可以使用了。(2)eclipse的安装与配置首先,用户可下载程序eclipse-java-galileo-win32,然后就解压就可以使用了。Eclipse的配置如下图:图8 Eclipse的配置图(3)在eclipse中配置Android所需插件A:运行eclipse,点击help选项中的Install new Software,然后导入ADT插件压缩包;B:安装android-sdk-windows,点击window选项里的Preferences,然后选择android,导入android-sdk-windows。配置插件图如下:图9 配置插件图(4)环境变量的设置右击我的电脑选择属性,在属性栏中选择高级,进行环境变量的设置:A:新建环境变量,变量名JAVA_HOME,变量值D:Program FilesJavajdk1.6.0_14B:修改环境变量,变量名Path,变量值为%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;C:Program FilesATI TechnologiesATI.ACECore-Static;C:Program FilesCommon FilesThunder NetworkKanKanCodecs;%JAVA_HOME%bin;%JAVA_HOME%jrebin;C: Program FilesTortoiseSVNbin,环境变量设置如下图:图10 环境变量设置图(5)ADT安装ADT实际上是一个工具,它可以连接SDK和Eclipse,帮助Eclipse找到SDK打开Eclipse界面,进入菜单中的“Help” “InstallNewSoftware”,点击Add按钮弹出对话框要求输入Name和Location,完成之后,选择Window Preferences;在左边的面板选择Android,然后在右侧点击Browse;并选中SDK路径,本机为;D:AndroidAndroidSDKr07windows;点击Apply和OK之后配置完成。第五章 程序开发5.1 文件结构与用途在程序开发阶段,首先确定“乐报天下软件”的工程名为WeatherMusic,据程序模块设计的内容,建立WeatherMusic工程。工程源代码的结构如图所示。图11 工程的源代码文件为了使源代码文件的结构更加清晰,工程设置了多个命名空间,分别用来保存用户界面、数据库、后台服务和工具实体的源代码文件,源代码文件的名称以及说明举例如表所示。表1 工程文件用途说明举例包 名 称文 件 名说 明.hfuuMainActivity.java“主界面”的A.hfuuWeatherActivity.java“天气界面”的A.hfuuCalendarActivity.java“日历界面”的A.hfuuMusicActivity.java“音乐界面”的A.hfuuConfigActivity.java“设置界面”的A.hfuuAddMusicListActivity.java实现添加音乐播放列表的A.hfuuAlarmAlertActivity.java实现闹钟提醒的A.hfuuAllRecord.java显示所有记录列表的类.hfuuHelp.java显示帮助信息的类接上表:包 名 称文 件 名说 明.hfuuMusicListActivity.java显示音乐播放列表的A.hfuuRecord.java对单个记录进行编辑的类.hfuuWelcomeActivity.java实现欢迎界面的ActivityAndroid的资源文件保存在/res的子目录中。其中/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,具体每个资源文件的用途可以参考表2:表2 资源文件的用途描述资源目录文 件说 明drawableabout.png这个文件夹里是工程里所用的图片,如有表示天气状况、数字等,此处不赘述。clock.pngdiary.pngexit.pnglayoutcalendar.xml设置日历页面的布局listitem.xml设置日历页面添加记录模块的布局main.xml主界面的布局mydate.xml选择某一日期的布局控件valuescolor.xml保存颜色的XML文件strings.xml保存字符串的XML的文件5.2 UI界面设计根据需求分析可以知道,应用程序应包含四个主要的用户界面,这里需要进一步分析每个用户界面中应该包括哪些显示内容。打开程序时,首先展示启动界面,一方面避免用户在打开程序时需要加载控件而导致的延时,另一方面给予用户第一眼的直观体验,奠定了该应用的整体界面风格。进入首页时,为了给用户更方面的操作指导,在第一次启动程序时会弹出小贴士,提醒用户更多的功能需要点击menu菜单实现。四个主要页面通过标签页的形式展示,默认首先进入天气界面。在天气界面中,除了设计出输入框以供城市查询外,还需要对天气的显示留下足够的空位。在日历界面中,除了显示表状的日历外,还显示当前选择日期的月份、第几周、日期以及本年第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论