基于android的xxx市地铁线路查询的设计与实现_第1页
基于android的xxx市地铁线路查询的设计与实现_第2页
基于android的xxx市地铁线路查询的设计与实现_第3页
基于android的xxx市地铁线路查询的设计与实现_第4页
基于android的xxx市地铁线路查询的设计与实现_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、基于android的xxx市地铁线路查询的设计与实现摘要 跟随时代的进步,智能手机已经成为当今社会人们日常交互的重要手段之一。手机已经成为人们生活的不可或缺的必备的硬件产品之一。随着技术的进步,手机地图也成为了人们外出必备的软件,给人们的生活带来了极大的便利。无论何时何地,都可以利用手机导航到达任何想去的地方,给人们的日常生活带来了极大的便利。现在的手机导航软件已经不止可以进行路线查询,导航,定位,还可以查看周边的店铺,进行网上外卖以及订票等其它拓展的服务。本系统基于Android的北京地铁查询系统,主要功能模块包括列表站点选择、最近站点查询、地图线路显示、显示导航情况等。通过对系统的功能进行

2、测试,测试结果表明,该系统界面友好,功能齐全,具有很高的使用价值,具有巨大的潜在用户群体和广阔的应用前景。关键词:Android平台;北京地铁查询;MVC;Java the android xxx City subway line query Design and ImplementationAbstract With the progress of the times, the smart phone has become an important tool in today's society people's daily interaction. Mobile phone

3、s have become an indispensable prerequisite of people's lives hardware products. With advances in technology, the mobile phone has become a people's map out the necessary software, to people's lives has brought great convenience. Whenever and wherever, you can use the phone to navigate t

4、o reach any place to go, and people's daily lives has brought great convenience. Now has more than phone navigation software can route queries, navigation, positioning, you can also view the surrounding shops, online booking and other takeaway and expand services. The Beijing subway system Andro

5、id based query system, the main function modules include a list of site selection, site inquiries recently, the line map display, navigation display and so on. Through the function of the system test, the test results show that the system user-friendly, full-featured, with high use value, has enormo

6、us potential user groups and broad application prospects.Keywords : Android platform;the Beijing subway queries ; MVC;Java第 44 页1 绪论1.1 课题的背景及意义 近来随着手机系统(Android,ios,widows phone)的快速发展和不断完善,智能手机越来越平民化,以迅猛的姿态快速发展,手机地图导航应用也与人们的生活密不可分。其中安卓是当前最流行的手机智能系统,很多手机厂商如:华为、三星、oppo、Vivo、魅族、小米、乐视、联想、酷派、中心、华硕、锤子等都被

7、安卓健壮、疾速、便捷的处理能力所吸引。更值得一提的便是安卓开源的系统架构,使手机厂商定制自己软件、服务的独特性更方便,所以安卓赢得了很大一批厂商的青睐。目前好评如潮的地图服务当属“Google地图”和“百度地图”,Google Map是Google公司自己研究的一个地图应用服务,也是目前几乎最完善的一个地图平台。而国内的百度地图和高德导航虽不及Google,但也日益完善。 综上所述,随着4G快时代网络的完善,覆盖范围和普及率的提高,手机接入网络的速度也快速提升,地图服务功能(显示电子地图,实现自我定位,城市搜索,线路规划,实时导航,实时路况)得到越来越多地图用户的实际体验,可以预见未来几年能将

8、地图服务有效的与位置定位技术相结合,手机导航地图应用前景是十分广阔的。 我国的地铁发展在近10年来取得了显著的成绩,首批开通地铁的城市有北京、上海、广州等地区,当前已经处于建设落成阶段,而深圳、成都、西安等城市的地铁也在积极的建设当中。北京,上海两大一线城市中地铁已经成为人们交通的主要工具。北京,作为国家首都,截止 2012 年已经拥有 15 条地铁线路,217 座车站,运营公里数达到 339.5 公里。面对错综复杂的地铁线路,人们的日常出行受到了极大的挑战。因此,设计一款适合人们使用的方便的,简洁的地铁导航系统已经成为人们生活的迫切需求。1.2 国内外研究现状(一)智能手机的发展 手机操作系

9、统主要应用在智能手机上。现在安卓和苹果是主流的智能手机。由于JAVA的跨平台的特性,以至于JAVA无论是智能手机或者是非智能手机都可以方便进行移植。智能手机较非智能手机的长处在于智能手机可以基于系统平台进行功能的扩展,并且还还支持多任务。 Android是一种流行的操作系统。主要在智能手机和平板电脑等移动设备上进行使用。由于尚未有统一的名称,大多数中国人称其为“安卓”。该操作系统主要支持手机,起初是由Andy Rubin研究出来的。后来被Google注资收购。2007年11月,Android系统经由Google与多家硬件厂商、电信运营等组建开发手机联盟及软件开发商进行了研究与优化。紧随其后,G

10、oogle以Apache的开源的许可证的授权方式,进行了Android源代码的发布。2008年10月,首部Android操作系统的智能手机诞生。Android以迅雷不及掩耳之势迅速扩展到平板电脑、游戏机、电视、数码相机等其他领域。2011年,Android在全球的市场份额是全世界的第一,第一次超过了当时流行的塞班系统。Android操作系统的智能手机在2013年在全世界的市场份额高达78.1%。2013年09月24日,距离Android操作系统的首次发布已经五年,全球使用android操作系统的设备数量已经达到10亿台。(二)手机地图导航应用的现状及发展趋势 手机硬件的高速发展,手机相关应用的

11、开发带给我们的优质体验在生活中也能真真切切感受。手机导航地图已经成为手机应用中必不可少的一款应用。在前边我们从各个方面解说了Android和ios系统导航地图的横屏,比较全面的分析了手机导航地图应用的现状。可以看出,手机上的地图导航系统在未来有一个特别好的前景。在未发布苹果地图之前,有很多的3D实景的地图的展示让我们感觉很是新颖和新鲜。但是真正等到了苹果地图的发布,带个我们的效果可能并不那么理想,可能存在之前逼真的3D效果做对比,使中国的广大用户可能有些许失望。 综上我们可以看出,用户追求的是导航地图的逼真的效果。 如果想要使地图质量提高,我们可能首先需要使地图的精准度更加精准,其次需要提供地

12、图的3D实景效果, 这个要做到最好地图的开发人员们就必须花费更多的时间去采取更细致的实物资料,并将其放置在巴掌大的手机中。最重要的一点,手机的硬件的强有力的支持才能开发出更逼真的地图效果。网络速度,屏幕分辨率,触控体验等等这就需要软硬件厂商通力合作,这样才能够给未来的我们带来逼真效果,极致操控的地图应用。 在此次的横评对比中显而易见的是,手机户外导航定位效率已经有了很大幅度的提升。在网络条件良好的条件下,只需不到十秒便可以成功定位,并为我们规划出比较合适的路线。在室外导航逐渐成熟时,地图软件设计商便可以着手室内导航了。 现如今已经有一些地图软件设计商为了扩大下载量,推出了一些室内导航应用。这些

13、应用现已经覆盖了商厦,地铁站,火车站候车室,地下通道,飞机场候车室等一些公共的非室外的地方,在室内地图大众可以通过智能设备上的客户端得到较好的定位和快速导航。 不过相对于室内导航,室内导航还有很大的提升空间。怎样做出室内立体效果图,怎样增加用户与应用的互动性,怎样保证手机可以在室内 准备定位,这些观念上和技术上的难题,正需要我们去克服。 即使前方道路坎坷荆棘,但室内导航应用是手机导航发现成熟的一个重要标志。目前同质化的手机导航地图越来越多,这让很多消费者无从选择,其实很多时候消费者需要的是一个点,只要能够在这一个点上切合消费者需求,那么此款手机导航应用的点击量和下载量将会爆表,于是,个性化地图

14、应用成为我们所需要面对的一个难题。经过调查手机导航地图的受众以青少年和老年人为主。想要吸引年轻人的眼球,我们除了设计清新简洁的界面外,个性化的定制更是必不可少的一部分,我们可以多在时尚潮流,综艺娱乐,创新挑战这些元素上下本,便可以博得更多的年轻受众的喜爱。而面对中年受众,应该根据他们的实际需要来设定,手机导航地图对于他们的操作能力和理解能力来说会比较难,所以我们应该把操作界面化复杂为简单,并与商务办公,运动养生这些元素相结合,这样才能够得到他们的喜欢。由此也可以看出市场对于有灵魂的个性化设计导航应用的召唤有多迫切。1.3本文研究的主要内容 本课题研究设计实现的是一个基于Android的北京地铁

15、线路的查询系统,这是信息查询相关领域中的android智能手机的较为方便的应用。本文的主要研究内容在于基于 Android 手机的地铁查询系统的研究设计、开发以及实现。本系统的主要设计思路是开发能够独立运行的基于Andriod的应用程序,主要功能模块包括列表站点选择、最近站点查询、地图线路显示、显示导航情况等。这个地铁导航系统设计的主要目的就是为用户提供一种有效的,快速的,而且极其便捷的对地铁的相关信息进行查询的方式,用户通过Andriod手机就可以获得高速率、高质量的地铁信息相关的查询的体验。2 系统需求分析2.1 需求概括2.1.1 目标设计一款操作简单,查询效率高的北京地铁查询系统。2.

16、1.2 系统运行环境(1)硬件资源装载了Android系统的智能手机。(2) 软件资源操作系统: Windows XP或Windows 7。Android sdkJDK:jdk1.6。Eclipse2.2 Android开发环境变量配置2.2.1 JDK的下载地址: (不要担心,JDK下载地址的域名不是 而是,因为Java所属的Sun公司已经被甲骨文oracle 收购了=。=)下载页如下:点击第一个下载链接进入下载页。Java Platform (JDK) 7u5,这里7u5是JDK的版本号,可能会有更新。首先选择Accept License Agreement(不同意人家公司的条款怎么能行呢

17、)然后选择合适的JDK版本,32位系统选择jdk-7u5-windows-i586.exe ,64位系统选择jdk-7u5-windows-x64.exe下载exe并运行之点击接受选择安装目录(此处不建议更改安装目录,因为后面的配置要用到这个目录,改了一定要记好了),然后下一步安装ing。JDK中自带JRE,这一步就是安装JRE了,同样不建议修改安装路径JDK安装完成。(没完哦,还得配置呢)首先,运行cmd:=>XP下点击开始菜单运行输入cmd回车=>Win7开始菜单运行(Win7下默认没有运行的解决办法:任务栏右键-属性-开始菜单-自定义-最下面有“运行命令”打勾就像XP一样 了

18、):在运行中输入cmd回车(XP、Win7均可用快捷键Win+R调出“运行”),这时候运行javac会发现中不到命令这是因为还没有配置环境变量。配置方法:1、=>XP:在我的电脑上点右键属性=>Win7在计算机上点右键(桌面没有计算机图标的请做如下操作:桌面右键个性化左边一列:更改桌面图标勾选计算机确定)属性左边一列高级系统设置2、点击高级标签,下面有环境变量按钮3、新建系统变量(下面的那个,不要点错)4、变量名填写:JAVA_HOME变量值为JDK的安装目录(就是上一层楼第三张图里的路径)然后点确定5、再次新建系统变量变量名:CLASSPATH变量值(要小心,一字不要差,更不要弄

19、错全角半角):.;%JAVA_HOME%libtools.jar6、寻找变量名为Path的系统变量,选择后点编辑在变量值后面添加:;%JAVA_HOME%bin;%PATH%如果不方便直接修改可以将变量值复制到记事本编辑,最后再复制进去。最后点确定即可。此时运行javac则正常。这时就可以安装Eclipse了。首先进入Eclipse官网:/点击Downloads,可以看到有许多Eclipse版本Eclipse Classic为最基本版的Eclipse,推荐下载开发服务器程序所用的Eclipse IDE for Java EE Developers,因为

20、其中包含大部分能用到的包,不需要额外配置。这一步要注意下载的32位(x86)或64位(x64)Eclipse要与JDK相同,否则会无法运行。(用Chrome浏览器和迅雷插件的同学要注意使用右键在新标签中打开链接,否则会下载失败)在下载页面,点击中间的China Beijing Jiaotong University (http)即可(北交大的下载地址,教育网速度下载之后解压,运行eclipse.exe即可Eclipse安装配置到此为止。2.2.2 sdk的配置 因为我们要开发的android应用程序,所以下的sdk是Google那里下载,地址在 以后更新后估计地址会变,所以大家可以从 然后同样

21、要设置环境变量,同jdk设置,新建一个SDK_HOME,值为D:SDKandroid-sdk-windows-1.5_r3android-sdk-windows-1.5_r3 ,然后找到path,在前面加上%SDK_HOME%tools; 就OK了。和jdk一样,我们也可以测试一下环境变量是否设置成功,cmd窗口中输入android,出现一堆东西,就完成了。2.3 JAVA技术简介 1990年12月sun公司开始研究的一个公司内部的项题目是Java语言搭建的一个平台。一个名为帕特里克·诺顿的开发人员因为自己开发的C和C语言编译器的API极其难用,所以决定改用NeXT,也因此有了一个研

22、究叫做项目名称为“Stelth计划”的机遇。 该项目名称随后被改为“Green计划”,项目组成员也多了JGosling(詹姆斯·高斯林)和麦克·舍林丹等其他的成员,在一个小工作室里,位于加利福尼亚州门罗帕克市沙丘路,他们数多个软件工程师一起利用新的技术为下一代家用电器的发展做准备。Sun公司很有先见之明,预计到家用电器会在未来科技中占据显著地位。虽然工程师们最初都考虑使用C语言,但是包括SUN的一把手比尔·乔伊在内的不少队员都发现C语言和某些可以使用的API有着很大的问题,在开发过程中有诸多Bug。 由于工程师们使用的是内嵌类型的平台,导致他们可以使用的资源是非常

23、有限的。C语言的复杂性致使很多的开发人员经常性的错误使用。而且他们还发现了C语言没有了垃圾回收机制,在某些功能等一些方面也存在很多不足。这些种种开发过程中遇到的问题导致他们需要一个可以易于移植到各种设备上的平台。 比尔·乔伊毅然决然的想着利用仅有的 不多的资金开发一种新的语言,该语言集C语言和Mesa语言与一体。乔伊在某个文章中上把它称为“未来”。他建议SUN公司的团队成员们应该研究出一种面向具体的对象的开发环境在C语言的前提下。同时高斯林也在改正和延伸C语言的一些特点,但是后来由于某些原因他放弃了这个想法。他将要研发出一种他把它叫做“Oak”(他办公室外面的树名)的一种人们所不熟知

24、的另一个新的语言。 与很多开发新技术的工作组一样,工程师们不辞辛苦的没日没夜的开发到了1992年的一个夏天,此时,他们已经取得了小部分的成绩,他们可以表演包括Green操作系统,Oak的程序设计语言,类库,和其它硬件在内的新的开发环境的的某些内容。他们将此命名为Star7,由于它的很鲜明的图形界面,给用户带来了很好的体验,还有“Duke”的智能代理来帮助用户更好的使用。他们将该设备与1992年12月3日进行了展示。 与此同时,Green计划被一个SUN公司的全资子公司转化成了“FirstPerson有限公司”。FirstPerson的开发成员总是对能让人和机器进行交流的设备有浓厚的感觉,所以在

25、代华纳公布了一个关于电视机上的顶盒的征求提议书时(Request for proposal),这个团队打乱了他们原来的开发路线,转而提出了一个关于机顶盒的研究的提议以此来回应那个征求提议书。但是由于FirstPerson的研究给予用户过多地自主权致使FirstPerson在投标上让对手SGI赢得了,并且在3DO公司的另一起有关机顶盒的交易也失败了。接二连三的失败,也未带来任何的效益,于是公司又再并回到SUN公司。 1994年6月和7月,在为期64小时的紧张激烈的交流后,约翰,詹姆斯,比尔,帕特里克,韦恩和埃里克因为里克姒哭宓,团队决定他们开发的技术使用到万维网中,再次改变了他们的目标。在他们看

26、来,认为伴随着Mosaic浏览器的到来,互联网发展的高度相同互动视界,这个愿景是什么,他们在有线电视网络中看到的。工程师帕特里克·诺顿完成了一个不大的有关网络的浏览器,WebRunner,随后命名为HotJava,来把它当成参考的原始的模型。也是在这一年里,Oak彻底改名成Java。图标检验表明,千橡已经登记显卡的制造商,让他们的整个团体有了一个新名字。这个名字是由当地的许多成员经常光顾的咖啡馆中创造出来的。缩写名称尚不清楚,它在一个很大程度上来说不是。尽管一直声称是开发人员组成的名字:詹姆斯·高斯林(詹姆斯·高斯林),亚瑟·范·霍夫(亚瑟面包

27、车霍夫)安迪·贝托谢姆(安迪贝克托克姆),或者“仅仅是另一种模糊的缩写”(只是一个含糊的缩写)。还有一个更能说服人们的看法是因为他们团体对coffee的超级依赖,所以把它称为了Java咖啡。前四个字节类文件,如果用十六进制的方式来看的话就是“CA FE BA BE”,细一点看的话不难看出能拼出两个单词“CAFE BABE”(咖啡宝贝)。 1994年10月的他们为公司的高层介绍了Java平台。 1994年,Java1.0A版本已经提供下载,但Java和浏览器的HotJava在5月23日首次公开发布,1995年北京天伦松鹤大会进行。科学指导SUN公司的约翰·盖奇宣布Java技术

28、。本产品的发布是与网景的执行副总裁克·安德森惊人的一起发布的,宣布网景的浏览器中将支持JAVA。 1996年1月,Sun公司已经建立了致力于Java技术开发的Java业务组。 2.4 Eclipse Eclipse是一个能免费下载源码,并且在Java的基础上能进行延伸的开发工具。在其自己的,它只是一个基本的架构和用来利用插件的组件搭建开发平台的一组service。运气比较好的是,Eclipse有另外的一个精准率高的的插件合集,其中也有Java开发工具(Java开发工具包JDK)。 2.4.1 基本介绍 虽然大多数用户很高兴使用Eclipse将其作为一个Java集成开发环境(IDE),

29、但Eclipse的功能不仅仅是这些。 Eclipse还包括一个插件开发环境(Plug-in Development Environment,PDE),用于Eclipse的研发团队所需要的延伸的主要组件,因为它支持他们搭建与Eclipse环境的毫无违和的组合的一些组件。因为一切的Eclipse中的内容都是组件,所以对于一个Eclipse插件,还有给人们提供的相同的和一模一样的集成的开发环境,研究团队的成员们的所有研发平台都是一样的。 这种相同性并不仅仅体现在Java开发工具之中。虽然Eclipse支持Java语言进行开发,但其使用并不仅仅只在Java语言;还支持例如C/C+、COBOL、PHP等

30、其他的编程语言的插件也能使用,也可能会推出其他的所支持的语言。Eclipse框架也可以被用作于其它多种多样的应用程序和软件发展的无关的系统,就好像内容管理系统之类的。 一个突出的基于Eclipse的应用程序的实例是IBM的Rational Software Architect,它是形成IBM的Java开发工具系列的基础。2.4.2 语言拓展 Eclipse是一个著名的跨平台的免费的集成开发环境(IDE)。起初主要是用来进行Java语言开发的,通过安装各种插件,以支持不同的计算机语言,比如C +和Python的开发工具。Eclipse平台本身只是一个开发工具,但兼容许多额外的组件,Eclipse

31、在其他功能中相对于稳定的IDE软件没有很好的移动性。许多软件开发者开发自己的Eclipse IDE的框架。 Eclipse的最初是被OTI和IBM两家公司的IDE产品开发小组开发的,在1999年4月IBM提供了最开始的的Eclipse代码基础,包括Platform,JDT和PDE。 IBM推出的Eclipse项目,围绕Eclipse项目已经发展成为一个庞大的Eclipse联盟,而且已经超过150软件企业参与Eclipse项目,包括Borland公司,Rational软件,红帽和Sybase等。Eclipse是一个开放源代码项目,它实际上是另一个Visual Age for Java,它的界面与

32、先前的Visual Age for Java相似,但因为其开源的,所以任何人都可以免费的获得,并可以自己开发插件,所以越来越受到重视。然后有很多规模不小的公司,包括甲骨文也参与了这个研究,Eclipse的目标是要变成可用于各种各样的语言方式开发的IDE的集成者,用户只需要下载组件就可以在多种语言中切换。2.4.3 主要组成 Eclipse是一个软件开发产品并且可以看见代码,其主要注意力是在为高度集成的工具研究一个功能齐全的开发,商业品质的工具。它主要由Eclipse项目,Eclipse工具项目和Eclipse技术项目的三期工程组成,包括四部分组成-Eclipse平台,JDT,CDT和PDE。

33、JDT兼容Java开发,CDT兼容C开发,PDE兼容组件开发,Eclipse平台是一个透明的可延伸的IDE,给了大家一个可以共同使用的一起发展的开发平台。它提供了基石和基础建设和综合软件开发工具的操作。 Eclipse平台允许工具和其他独立开发工具无缝集成的工具从而需要区分其中函数的末尾,是一个明确另一个工具功能在哪里开始的一个工具。2.4.4 软件开发包 Eclipse的SDK(软件开发包)是Eclipse平台,通过组合JDT和PDE插件,而且允许下载。这些章节组合,就有了一个功能多种多样的开发平台,使开发人员能够快速地构成可毫无违和的集成到Eclipse平台的工具。组合工具从Eclipse

34、项目的生产和第三方软件从其他开源的Eclipse SDK。 Eclipse中使用GPL项目制作软件,第三方组件都有自己的许可协议。3 系统概要设计3.1 系统总体要求可靠性(可靠性):软件系统是为用户的业务经营和管理,软件系统非常重要的,因此必须非常可靠。安全线(安全): 通过软件系统进行的交易的商业价值高,安全体系是非常重要的。延伸性(可伸缩):这个软件必须能够在用户量增多的情况下还能正常的运行,保证该系统不会出错,这有到达这种要求,才能有用户市场拓展的可能。定制的(定制的):同一个系统,可以在用户不同的情况下或者在需求变更的情况下还能进行调整。可扩展性(可扩展):如果有一些新的先进的技术需

35、要在该系统中使用,也必须保证能进行与旧的技术的融合,以达到提高和扩展现有系统功能的作用。可维护性(可维护性):软件系统的维护包括两个方面,一个是排除现有的错误,二是新的软件需要在现有系统中得到反映。易于维护的系统可以有效地降低技术支持成本。客户体验(客户体验):软件系统必须易于使用。市场时机(上市时间):软件的用户不得不面对的同业竞争,软件开发商也需要面对同样的压力。对于市场机会的最快的速度是非常重要的。3.2 系统概述 本系统使用java与Android结合设计建立的一个北京市地铁线路查询系统。用户通过线路查询查看北京市的三条线路的每条线路的具体的站点,最近站点信息的查询,以及显示导航情况。

36、3.3 系统流程 根据设计要求,用户进入地铁导航系统时可以先选择填写线路信息,选择列表站点选择或者最近站点查询,在列表站点选择的界面,用户可以选择线路号和站点名,还可以选择需要显示的地铁线路,在最近站点查询的界面,用户可以选择要查询的距离范围,点击显示导航情况,可以显示出所选线路号和站点的位置信息。界面中可以显示系统使用流程如图3-1所示。图3-1地铁导航系统使用流程图3.4 Android的功能特征(1)应用程序体系结构:体系结构中的应用程序已经有许多不同的基本组件开发应用程序时,可以直接调用这些组件来使用,可以保存应用程序的开发时间和精力。(2) Dalvik虚拟机:在使用Java虚拟机,

37、而不是一个星际的标准的Java虚拟机,而是使用谷歌自己团队研发的代码的虚拟机Dalvik的,这确保在API方面延伸于Android平台的时候,对手机性能有了很大的提高,更小的体积,更快的工作速度。(3)集成的浏览器:集成浏览器内置的Android浏览器是基于WebKit浏览器引擎形成的。 WedKit是目前使用的开源Web浏览器排版引擎,WebKit浏览器引擎有:野生动物园,绿色,洞察力和等。 Android手机具有的功能,你可以浏览网页,以达到更好的效果,如:信息,触摸在网页上运行本地化的影响,如变焦。(4)以优化图形的能力:该程序可以在2D和3D绘图功能可以使用被分成两个区域。在2D方面,

38、 Android提供了一个独特的图书馆( SGL ,而在3D方面是使用OpenGLES1.0 ( openGL的用于嵌入式系统)的标准库,它是一个非常快的图形引擎,支持硬件加速。(5) SQLite数据库: 轻量级数据库,适用于资源有限的设备;SQLite数据库是一个不需要安装和启动服务进程的一个文件;允许使用SQL语句操作数据库中的数据;动态数据类型,可以在任意类型的字段中进行各种类型的数据的存储;除了上述的,SQLite还能让开发者忽略掉数据的类型,在任意类型的字段中存储各式各样的数据。例如程序可以把字符串类型的值存入INTEGER类型的字段中,也可以吧数值类型的值存储到布尔类型中。然而还

39、是存在特殊的情况,定义INTEGER PRIMARY KEY的字段只能存储64位整数。 由于SQLite的这个特点,以至于在编写见表语句时可以不用进行数据列的类型的声明。 SQLite是也是一个开放的关系型数据库,其特点是轻便的设计结构而言,更适合在手机上使用。( 6 )支持多媒体的功能:主要用于播放媒体文件。这也包括音频(如MP3播放器或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,以及“播放URI地址”的支持(注: URI地址是统一资源标识符)模式 - 直接播放流媒体在网络上。还支持多种常见的静态图像格式,如: JPG,PNG , GIF等多种格式。( 7 ) GSM技术:是一种

40、被称为“全球通”的全球的移动的通讯系统,是第二代移动通信技术,移动通信的标准首先起源于欧洲。这项技术的发明可以让用户仅仅通过一根简单的电话线就可以在世界各地联系,全世界的人们共同使用一个移动电话网络标准。GSM移动电话技术是硬件显示的一部分,而且也是一个特别突出的特性在Android应用程序开发中。( 8 )GPS :全球定位系统,全球定位系统,这是卫星系统的24颗卫星覆盖全球。这个技术可以使人们无时无刻,无论在什么地方都可以观测到4颗卫星,通过对该卫星的纬度,经度,和高度的信息的采集,更好的对导航,定位,定时的功能进行实现。这项研发的成功在很多的方面都发挥着巨大的作用。而且这项研发在Andr

41、oid应用程序的开发中也是一个亮点。3.5 Android架构分析图中显示的是Android架构的五个主要部分。3.5.1 应用程序框架 在Android SDK中,它可以简化组件的重用和设计,通过让工程师们使用相同的核心应用框架。然而,这是受其安全机制的应用架构,用户使用相同的机制来添加,更换部件。目前所有的应用程序是由服务和系统,包括:(1) 一个强大的和可扩展的系统观点:基本组件用于在系统屏幕发展构建一个应用程序包,常用列表控件,网格,文本框,按钮,等,甚至嵌入式Web浏览器。图3-2 Android架构的五个部分(2)内容提供者:能够访问数据的应用程序(如接触数字图书馆)到另一个应用程

42、序,或分享自己的数据。(3)资源管理:提供非代码的应用程序使用的各种资源。例如:字符串关联的图形文件或排版布局文件。(4)通知管理:提供应用程序显示一个自定义应用程序的消息在状态栏。(5)项目经理:进行所有的模块的管理,提供常用的导航回退功能的生命周期。例如:开始使用资源准备和释放资源,如内存和工作当你关闭应用程序中的应用。(6)窗口管理器:进行Windows的程序的管理。(7)位置管理:管理地图服务相关的功能。(8)电话管理:管理用户拨打和接听电话的相关功能。(9)软件包管理器:进行Android操作系统中所有的软件包的管理。3.5.2 类库 在Android包含一些C/ C+类库,Andr

43、oid系统,这些库可以在不同的组件使用。开发者可以通过应用程序框架使用这些功能。核心库的一部分列出如下:(1)面管理器:主要功能是让开发人员可以访问/显示系统和管理功能,在显示和访问操作互动之间的对应关系,实现应用之间的无缝2D/3D多的整合。例如:合成,在2D , 2D显示叠加作用。(2)3D库:主要规格有基于OpenGL ES1.03D图形引擎的定义。库使用硬件加速(当硬件可用),可以使最好的硬件3D处理和显示功能。(3)西格里:主要是处理与显示2D图形引擎的各个方面。(4)工作媒体框架:主要是基于对图书馆的发展公司PacketVideo的多媒体库的OpenCore的基础支持播放和录制了大

44、量的流行的音频和视频格式,静态图片。例如: MPEG4,H.264 , MP3,AAC , AMR , JPG,PNG , GIF等格式(5)免费类型:主要用于显示位图和矢量形把手。(6)SQLite : SQLite是一个开放的关系型数据库,并且可以在所有应用程序的轻量级关系型数据库引擎中使用。(7)网络工具包:是用于构建Android的网络浏览器和内嵌视图一个先进的Web浏览器引擎,也可以让开发人员能够利用这台发动机的优势做不同的应用。(8)库C: 一个标准的C库是BSD。其在嵌入式Linux设备进行了一些调整和优化。3.5.3 Android运行时的组件 尽管Android是使用Java

45、语言来开发的编写的应用程序,但它不使用Java运行时组件来执行Java程序,使用由谷歌自主研发的Android的运行时组件执行程序。 Android的运行时组件包核心类库和Dalvik虚拟机两个主要的部分。3.6 Android应用的构成和工作机制 对于一个Android应用程序,它是由活动,意图接收器,服务,内容提供商分为四个部分,但不是每一个Android应用程序必须包括四个部分。如果要在应用程序中使用,它必须在配置文件AndroidManifest.xml文件进行配置。对于每一个Android的应用程序,功能和自定义应用程序组件,部件等的必要条件,这需要一个配置文件,以提供如图3-2所示

46、的Android应用程序和工作流程。图3-3 Android的构成和工作流程3.7应用程序基础 所有的Android的应用程序都是用java语言来进行编写的,编译好的java代码,其中有需要的各种数据还有资源文件,实质上是将这些内容进行包装后使其在一起的Android软件包。apk后缀。此文件是分布式应用程序和安装到移动设备的中介或工具,用户将此文件下载到自己的设备中。所有的代码被认为是一个应用程序的apk。AAPT是字母缩写Android资产打包的工具,这个工具是在SDK工具/目录包含。查看、创建、更新、与ZIP存档文件兼容(邮编,罐子,APK)。它也可以将资源文件编译成二进制包。 即使不能

47、直接的进行预约,然而使用这个工具可以将脚本和IDE插件进行打包,生成一个apk文件,从而一个Android的应用程序完成。 以下是使用更详细的详细信息,首先,打开一个终端,输入工具/目录,运行命令:Linux或Mac操作系统:/所在,如果是Windows:AAPT。exe。这里需要注意的是,工具/目录指的是Android SDK目录/平台/安卓/工具/ X。系统的来说,每一个单独的Android应用程序都是独立的。默认情况下,任何正在运行的应用程序都在它自己的进程中运行。安卓系统将启动应用程序中任何需要执行的代码;当它不再需要和系统资源将不再请求其他应用程序时,安卓将关闭进程。 每个应用程序都

48、有它自己的java虚拟机(VM),所以应用代码是独立运行的所有其他应用程序。默认情况下,每个应用程序分配一个唯一的用户ID。权限为每个应用程序文件设置为仅向用户和应用程序本身可见。虽然有一些方法,你也可以将其置于其他应用程序。也有可能设置两个应用共享的用户ID,在这种情况下,他们可以看到彼此的文件。为了节省系统资源,具有相同ID的应用程序可以最好在同一个Linux进程安排,共享相同的虚拟机。4 系统设计与实现4.1 系统功能模块设计 系统主要功能模块包括列表站点选择、最近站点查询、地图线路显示、显示导航情况等。图4-1 北京地铁查询系统功能结构图4-2 程序流程图4.2 技术框架设计Andro

49、id系统共分为4层,从高到低分别是应用层,应用框架层,系统运行层和Linux内核层。1.Linux 内核层 Android 的操作系统是基于 Linux 2.6 内核的,它为 Android 设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。 2.系统运行库层 这一层通过一些C / C +库,为Android系统的主要功能提供了支持。如SQLite提供数据库模块的支持,OpenGL的| ES库提供3D图形支持,WebKit浏览器库提供了核心支持。 此外,在这个级别的还有Android的运行时库,它主要提供核心库,允许开发人员编写使用Jav

50、a语言的Android应用程序。另外Android运行时库还包括Dalvik虚拟机,这使得每一个Android应用程序可以在一个单独的进程中运行它们,并拥有自己的Dalvik虚拟机实例。相比于Java虚拟机,Dalvik的为移动设备量身打造,它是手机内存,CPU性能受限等做了优化。 3. 应用框架层 开发人员可以通过该层构建的各种的API和Android自带的一些核心的应用来快捷的方便的开发自己的应用程序。 4. 应用层 该层包括了手机上的一些安装的应用程序,无论是系统本身具有的联系人、短信等自带的程序,还是自己下载的一些小游戏,当然还包括你自己开发的程序。 4.3 UI界面设计系统一共分为五

51、个界面:列表站点选择主界面、线路号选择界面、站点名选择界面、最近站点查询界面、显示导航情况界面。列表站点选择主界面如图4-3所示。图4-3 列表站点选择主界面线路号选择界面如图4-4所示。图4-4 线路号选择界面站点名选择界面如图4-5所示。图4-5 站点名选择界面最近站点查询界面如图4-6所示。图4-6最近站点查询界面显示导航情况界面如图4-7所示。图4-7 显示导航情况界面4.4 核心功能实现代码(1)程序配置文件<?xml version="1.0" encoding="utf-8"?><manifest xmlns:androi

52、d=" package="com.bn.helper" android:versionCode="1" android:versionName="1.0" > <application android:icon="drawable/icon" android:label="string/app_name" > <activity android:name=".MapNavigateActivity" android:label="s

53、tring/app_name" > </activity> <activity android:name=".TrainSystemHelperActivity" android:label="string/app_name" > <intent-filter> <action android:name="ent.action.MAIN" /> <category android:name="ent.catego

54、ry.LAUNCHER" /> </intent-filter> </activity> <uses-library android:name="com.google.android.maps" /> </application> <uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /></manifest>(2)列表站点选择功能实现代码public static List<String> searchStationList(String L_name) List<String> list=new ArrayList<String>(); try createOrOpenDatab

温馨提示

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

评论

0/150

提交评论