毕业设计(论文)-基于Android的汽车报价系统的设计与实现.docx_第1页
毕业设计(论文)-基于Android的汽车报价系统的设计与实现.docx_第2页
毕业设计(论文)-基于Android的汽车报价系统的设计与实现.docx_第3页
毕业设计(论文)-基于Android的汽车报价系统的设计与实现.docx_第4页
毕业设计(论文)-基于Android的汽车报价系统的设计与实现.docx_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

太原理工大学毕业设计(论文)用纸太原理工大学毕业设计(论文)任务书第1页毕业设计(论文)题目:全套设计加扣 3012250582基于andriod的汽车报价系统的设计与实现毕业设计(论文)要求及原始数据(资料):1综述各国汽车报价走势;2深入了解软件需要用到的Android组件,控件及理论知识;3熟练掌握软件开发流程,训练编写程序能力;4设计并实现汽车报价系统软件;5深入分析汽车报价系统的关键技术与编写语言;6训练检索文献资料和利用文献资料的能力; 7训练撰写技术文档与学位论文的能力。第2页毕业设计(论文)主要内容:1综述汽车报价系统在app中的作用;2了解软件需要用到的相关技术;3熟悉汽车报价软件的开发语言和开发工具;4设计汽车报价系统软件;5. 深入分析汽车报价系统的关键技术及设计流程;6熟练掌握汽车报价系统软件的代码编写;7设计与实现汽车报价系统的软件。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。第3页主要参考文献(资料):1 公磊, 周聪. 基于Android的移动终端应用程序开发与研究J. 计算机与现代化, 2008(8):85-89.2 姚昱旻, 刘卫国. Android的架构与应用开发研究J. 计算机系统应用, 2008, 17(11):110-112.3 耿东久, 索岳, 陈渝,等. 基于Android手机的远程访问和控制系统J. 计算机应用, 2011, 31(2):559-561.4 丁丽萍. Android操作系统的安全性分析J. 信息网络安全, 2012(3):28-31.5 陈璟, 陈平华, 李文亮. Android内核分析J. 现代计算机:专业版, 2010(11):112-115.6 杨丰盛. Android应用开发揭秘M. 机械工业出版社, 2010.7 Davi L, Dmitrienko A, Sadeghi A R, et al. Privilege Escalation Attacks on Android.J.Lecture Notes in Computer Science, 2010, 6531:346-360.8 Bjrntorp P. The android woman a risky conditionJ. Journal of Internal Medicine,1996, 239(2):105110.9 Meier R. Professional Android Application DevelopmentM. Wrox Press Ltd., 2008.10 Emilie C, Matthew W, Matthew W, et al. Complications in reverse total shoulderarthroplasty.J. Journal of the American Academy of Orthopaedic Surgeons, 2011, 19(7):439-449.专业班级软件1217班学生要求设计(论文)工作起止日期2016年3月21日2016年6月24日指导教师签字日期2016年3月21日教研室主任审查签字日期系主任批准签字日期Android 汽车报价系统设计与实现摘 要对于现在的人来说移动设备已经离不开我们的日常生活,轻巧的外形我们可以随时携带,强大的功能让我们无法舍弃。想要初步了解一辆汽车,我们通过手机上网就可以。那么一款支持Android手机平台的汽车报价App则更是一个很好地选择。本软件是利用Eclipse以及Android开发工具设计的一款应用于Android的手机App,它的主要功能就是在首页让用户可以通过汽车首字母方便快捷的查找汽车报价以及详细信息,同时收藏功能可以对汽车进行收藏,方便用户下次进入App后可以快速查找。设置界面则是关于App的其他一些扩展信息,例如访问汽车之家首页,分享的功能。本设计按照标准的软件开发流程进行,即需求分析、功能设计、程序调试、运行,并对程序进行优化。本论文详细介绍了设计汽车报价系统的背景、意义以及功能,系统的分析、设计、以及实现将一一描述,最后进行总结以及自己的感想。关键词:Android;布局;汽车;适配器;数据库;TheDesign and Implementation of Auto Quotation SystemBased on AndroidAbstractFor todays people, mobile devices have been separated from our daily life, we can carry the light appearance, powerful function so that we can not abandon. To get a preliminary understanding of a car, we can access the Internet through mobile phones. Then a car to support the Android mobile phone platform App is a very good choice.This software is the use of eclipse and Android development tools to design a new application on Android mobile app, its main function is on the front page allows users to can by the initials of the car is fast and convenient search car quotes and details, and used function of automobile in used, to facilitate the next time the user into the app can quickly find. Set up the interface is about the other extensions of App information, such as access to the car home, share the function. This design according to the standard of the software development process, namely demand analysis, function design, program debugging, running, and optimize the program.This paper describes in detail the design of the car quote system background, meaning and function, system analysis, design, and implementation will be described in one one, the final summary and their own feelings.Key words:Android; Car; Layout; Adapter; The DatabaseII目录1 绪论11.1 Java11.1.1 Java之父11.1.2 Java语言的背景11.2 Android发展概述21.3 课题研究意义21.4 本文研究内容31.5 本文的组织结构32 相关技术介绍52.1 开发工具及环境简介52.2 Android系统体系结构63 可行性研究及需求分析83.1 概述83.2 可行性研究83.2.1 经济可行性83.2.2 技术可行性93.2.3 操作可行性93.3 需求分析93.3.1 实用性93.3.2 安全可靠性93.3.3 可扩展性与可维护性93.3.4 用户界面美观103.3.5 易用性103.4 系统功能需求104 系统设计124.1 概要设计目标124.2 E-R图124.3 系统模块图134.4 系统流程图144.5 文件结构设计144.6 数据库设计175 系统实现195.1 导航界面的实现195.2 主界面的实现215.3 首页的实现235.4 汽车详情界面的实现255.5 汽车详情界面的分享实现295.6 收藏列表界面的实现305.7 设置界面的实现316 系统测试与维护356.1 软件测试的重要性356.2 测试的目的和意义366.3 真机测试366.4 系统维护39结 论40参考文献41致 谢42附录:外文原文43中文翻译491 绪论1.1 Java1.1.1 Java之父詹姆斯高斯林出生于加拿大,是一位计算机编程天才。在梅隆大学攻读计算机博士学位时,他编写了多处理器版本的Unix操作系统,是Java的创始人。1991年,在Sun公司工作期间,高斯林和一群技术人员创建了一个名为Oak的项目,旨在开发运行于虚拟机的编程语言,同时允许程序在电视机机顶盒等多平台上运行。后来,这项工作就演变为Java。随着互联网的普及,尤其是网景开发的网页浏览器的面世,Java成为全球流行的开发语言。因此被人称作Java之父。1.1.2 Java语言的背景十九世纪六十年代到十九世纪七十年代,大型主机开始大量出现,众所周知,当时计算机的发明主要是在战争中计算各种导弹的行程轨迹,由于当时的技术还不够成熟,计算机的制作难度和成本非常大,所以计算机也是屈指可数,由此而应运产生的编程人员也是少之又少。随着计算机技术的不断进步,出现了相当于所有编程语言祖先的C语言,C语言的出现顺应了时代的潮流,十年后成立的Sun公司中的Billjoy为Java语言的创立铺平了道路,他在该公司做了22年的首席科学家,并且被称为上世纪最伟大的程序员,同时有幸被财富杂志称为网络时代中的爱迪生,在互联网计算机领域做出了前无古人后无来者的巨大贡献。Java其实以前并不叫做Java,Java以前叫做Oak,这个的本意是橡树的名字,它刚开始出现的时候,其实人们都不知道,但是,后来随着互联网的飞速发展,越来越多的人开始使用互联网,这个Oak才被越来越多的人们所熟知,再后来,Oak得到了Sun公司的支持,发展迅速,但是公司考虑到它的促销和法律,决定把它的名字改为java,这个名字是有由来的,据说有一次Java内部的小组的成员在一起聚会的时候就讨论要不要给这个语言起一个新的名字,然后有个人正好从一个叫做印度尼西亚的地方旅游回来,那个地方有个岛屿叫做Java,所以他就提议使用Java,而这项决定也得到了小组其他人的认可,所以就将他的名字改为Java,从此以后Java飞速发展。两年后公司将Java改为Java2。正是因为java语言的专业性,在互联网领域同行无阻,通过长时间的积淀和检验,Java语言成为了最普遍最通用的热门的编程语言,在各个方面都有所涉及,例如我们生活中常用的手机中的系统Android同样也是使用的Java语言,这样我们在学习Android语言之前必须要学习Java,并且做好相应的铺垫。1.2 Android发展概述Android系统的基础就是Java语言,这使得我们在学习Andriod之前必须要好好学习Java,并为之做好相应的铺垫,这样我们在以后的学习Android的过程中会轻松很多。Android是一款开源的手机操作系统,它是基于Linux的,它的时间没有像Java开发的那么长,最初的Android系统是由Andy Rubin开发。它早在2005年的时候Google收购了,知道2007年,他才真正的所被大众化所接受,谷歌开始与很多家公司签约,并一同开发Android系统,使得Android系统功能越来越强大,认知也越来越广泛,Android开始被越来越多的人所熟知,起初Android只是限于智能手机的应用,但是到了08年之后,Android被开发到平板电脑以及其他的设备上,比如我们平时看的电视和平时拍照用的相机等,到了2011年的时候,Android在全球的市场份额跃居第一,到目前为止,全世界采用Android系统的设备已经超过了10亿台。1.3 课题研究意义越来越多的人使用手机,手机的功能不断强大,不仅仅能够拔打电话而且还能与互联网接轨,发展之迅速令人瞠目结舌,由此应运而生的平板等便携设备都是要使用移动端的操作系统,例如IOS,安卓,等等,在此之中,安卓良好的开源特性和广泛的适用性,在市场中也是占据了主导的地位,由此对于安卓系统的开发专员的需要也是日渐增加,有需要才有市场,正式因为越来越多的人喜欢使用安卓系统,因此基于安卓系统开发一款应用的前景也是非常广阔的。安卓汽车报价系统致力于为想要购车的用户提供最有效最实时的汽车市场价格信息,方便用户能够在最短的时间内,准确,快速,以最佳的性价比选择最适合自己的车型,免去了实体店的复杂,品种不全,往复周折的麻烦,轻松一点即可拥有你的爱车,值得拥有的一款实用型软件。1.4 本文研究内容本文主要讲述一款基于Android的汽车报价系统的实现。这款软件在进入App是时导航界面,导航界面利用ViewPager实现了四张汽车图片的滑动切换;之后是App的主界面,主界面利用FramLyout分为首页、收藏与设置三个部分,首页利用侧边栏搜索汽车,收藏界面用于用户自行收藏喜欢的汽车,设置则有本App相关内容简介。我做的这款App,是利用我们经常开发Java软件的Eclipse开发完成的,因为开发的是Android项目,所以我还结合了sdk虚拟机,但是由于sdk运行速度比较慢,我采用了另外一款虚拟机Genymotion,但是效果是和SDK一样的,然后数据库方面我采用的是SQLite,原因是这款数据库比较小,更适合我的开发。在整体开发过程中,我还借助到了Tomcat7.0,首先启动Tomcat,然后再启动Android项目,系统就会从Tomcat中调取数据。本软件按照设计步骤来实现,分别是:1) 从课题入手,列举该软件将要实现的功能。2) 下载相关软件,搭建环境。3) 需求分析。4) 根据需求画出功能模块图。5) 设计各个界面,完成大体的实现。6) 逐一实现各个界面的功能。7) 进行布局的完善与优化。8) 系统测试并改进。1.5 本文的组织结构本文详细介绍了Android汽车报价系统的设计与实现,按章节顺序介绍软件开发背景、相关技术与知识、需求分析、系统设计、App的导航界面、主界面、收藏界面、设置界面及其他扩展内容、系统测试与维护等内容。以下章节进行详细介绍。第1章绪论,主要介绍本课题基于Android软件开发的背景,以及基于Android汽车报价系统开发与实现的目的、和意义、论文的结构安排等。第2章相关技术介绍,对用到的开发工具以及涉及到的理论知识进行详细介绍说明。第3章可行性研究及需求分析,主要介绍了本系统需要实现的功能和可行性研究等。第4章系统设计,主要介绍了本系统的设计过程、功能模块设计思路以及文件结构设计。第5章系统实现,详细介绍导航界面、主界面、收藏界面、设置界面以及其他扩展内容。第6章系统测试与维护,主要介绍了测试在软件开发环节中的重要性和给出本系统的测试过程与结论。最后:总结、致谢、参考文献。422 相关技术介绍2.1 开发工具及环境简介1、eclipseEclipse它首先是开放源代码的平台,任何人都可以在上面找到你想得到的东西,其次,它专门为Java量身打造,是一个基于Java的开发平台,并且他的可扩展性也非常高。2、Android SDK在Android开发中离不开的就是虚拟机,因为你要开发一个Android项目,必须要给他一个平台跑起来,但是一直使用真机的话会很麻烦,所以虚拟机就出现了,虚拟机的出现大大方便了Android的开发,SDK是一些公司针对某一项技术为软件开发人员制作的一套辅助开发或者减少开发周期的工具,一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。安卓SDK就是做安卓软件或游戏的一项辅助工具,它有可能是官方的,也有可能是软件公司自己开发的,目的在于方便软件制作者制作软件。而SDK主要也是以Java为基础的,所以我们在开发Android的过程中,SDK是一个非常好用的工具。当我们在开发的过程中,其中有一块的功能我们不是很确定他是否正确,我们可以先将程序运行到虚拟机上进行测试,这样有利于我们开发的质量提高,同时也有利于我们对自己功能优劣的监控。3、ADTADT 全称Android Development Tools,是谷歌提供的一个Eclipse 插件,用于在Eclipse 中提供一个强大的、高度集成的Android 开发环境。安装了ADT,你不仅可以联机调试,而且还能够模拟各种手机事件、分析你的程序性能等等。4、Genymotion由于Android原生模拟器有很多弊端,因此,本人在通过了解和学习之后,选择了一种全新的Android模拟器Genymotion,其作用和Android模拟器基本上是一样的,并且在此基础上,改进了原生模拟器启动慢,界面粗糙,运行卡顿的缺点,是一款非常不错的模拟器。2.2 Android系统体系结构1、应用程序层所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者是你从Google Play 上下载的小游戏,当然还包括你自己开发的程序。2、应用程序框架这一层主要提供了构建应用程序时可能用到的各种API,Android 自带的一些核心应用就是使用这些API 完成的,开发者也可以通过使用这些API 来构建自己的应用程序。3、系统运行层:该层分为两部分:系统库和Android运行时。(1)系统库包含System C library(从BSD继承来的标准C系统函数库,专门为基于嵌入式Linux设备订制的)、Media Libraries(基于PacketVideo OpenCore,支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、JPG和PNG等)、Surface Manager(显示子系统管理器,对多个应用程序提供2D与3D的无缝合成显示)、LibWebCore(能够支持Android浏览器和嵌入式Web视图的浏览器引擎)、SGL(底层的2D图形引擎)、3D libraries(基于OpenGL ES 1.0 APIs的实现,该库使用硬件3D加速或者优化的3D软件加速)、Free Type(位图和向量字的显示)、SQLite(轻量级关系数据库引擎)。(2)Android运行时它提供了Java编程语言核心库的大多数功能,由Dalvik Java虚拟机和基础的Java类库组成。每个应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik虚拟机执行后缀名为.dex的Dalvik可执行文件,该格式的文件针对小内存使用作出了优化。同时,虚拟机是基于寄存器的,所有的类都是通过Java编译器编译的,然后通过SDK中的“dx”工具转化为.dex格式的文件由虚拟机执行。Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。4、Linux内核层Android基于Linux2.6的内核,其核心系统服务如安全性、内存管理、进程管理、网络协议以及驱动模型都依赖于Linux内核,同时内核层也扮演了介于硬件层和软件栈之间的抽象层的角色。从Linux操作系统来的角度来看,Linux内核层和系统运行库层之间是内核空间与用户空间的分界线,Linux层运行于内核空间,以上各层运行于用户空间。系统运行库和应用框架层之间是本地代码层和Java代码层的接口。应用框架成和应用程序层是Android的系统API的接口,对于Android应用程序的开发,应用程序框架层以下的内容是不可见的,仅考虑系统API即可。Android四大组件简介:(1)ActivityAndroid系统中Activity是直接与用户进行交互的界面,一个Android应用通常由多个Activity组成。Android系统通过任务栈来管理Activity。Activity有自己的生命周期,由Android系统来控制。(2)ServiceService就是运行在后台的一种服务程序,没有可视化界面,只要继承Service类,实现其生命周期中的方法就可以了。Service必须在AndroidManifest.xml配置文件注册后才能使用。Service有自己的生命周期,其启动方式有绑定和非绑定两种。(3)Broadcast ReceiverBroadcast Receiver 为广播接收器,同Service一样需要在AndroidManifest.xml配置文件注册后才能使用。但是广播接收器也可以用编码方式进行动态注册。它用来对用户进行消息提醒等。(4)Content ProviderContent Provider 为内容提供器。它使不同应用程序之间进行数据交互成为可能。只需要知道目标程序所声明的URI即可,而不需要了解目标程序中数据的存储方式。3 可行性研究及需求分析3.1 概述在设计前期需要对整个设计过程进行需求分析,即结合不同的市场背景,行业特点,对需要解决的问题以及最终达成的目的进行深入的分析和研究,设定不同的设计思路,逐个挑选出最佳选型,满足用户的需求,对不同的流程和功能进行大量研究,确定最终方案和系统的逻辑功能的过程。这一过程中的主要任务是运用系统开发理论、开发方法和开发技术设计出一个计算机化的信息系统。Android洗车报价系统采用基本思想为首相模型概念的结构化分析方法进行系统分析,使用“抽象分解”的基本手段,按照软件内部数据传递、变换的关系,对系统进行从上到下,层层分解,细化步骤,精益求精,反复尝试直到完成所有功能的设计。系统的庞大性就导致在设计阶段,不可能将所有的问题和细节一次性全部考虑清楚,所以就需要将一个庞大的复杂的问题细化,分解成多个小问题,各个击破,由整体到局部,再由局部回归到整体,与此同时,在拆分时,可先找到问题的主干,即本质,形成框架,再逐一添加细节,由抽象到具体,在由具体上升到抽象,完成整个系统的设计。按照这样的方法,再复杂再庞大的系统都可以分解成若干个小系统,分析过程就可以简化,按部就班的进行。3.2 可行性研究设计之前需要对软件进行可行性研究,运用各种不同的手段,从不同的角度出发,对软件的适用性,可操作性和经济性进行研究。本课题从经济、技术和操作三个方面来研究每种解法的可行性。3.2.1 经济可行性本软件由完全免费开放的Android开发平台编写,不需要任何的经济成本,同时该软件可以在任何一台安卓操作系统手机上使用,有很高的实用性和性价比。3.2.2 技术可行性开发工具:Eclipse-Luna系统环境:Microsoft Windows 操作可行性本软件是基于安卓系统开发的,因此开发人员必须具备一定的安卓应用开发的经验,对Android的四大组件的作用和基本控件的使用要了如指掌,同时对Activity的生命周期,FrameLayout布局,数据库,适配器等要用到的知识点熟练掌握和运用。3.3 需求分析为了保证软件能够稳定、可靠、安全、长期、高效地在Android设备上运行,本系统应该满足以下需求原则:3.3.1 实用性该系统主要是为了方便用户挑选车型,对比价格,在纷繁复杂的车型中能够迅速准确的挑选到符合心意的汽车,同时能够以最优的性价比选购车辆,在实际生活中有很高的实用性。3.3.2 安全可靠性用户在使用产品时完全不需要担心个人隐私的安危,本款软件不涉及用户的隐私问题,可放心使用,同时Java语言的高安全性也可以让用户放心。3.3.3 可扩展性与可维护性本软件的程序功能模块采用独立性极高的碎片添加的方式。可以方便快捷的添加或删除任意功能。各个模块内元素之间的联系非常紧密。具有优秀的扩展性与维护性。3.3.4 用户界面美观用户界面的美观性直接影响用户的使用感受,因此在设计中,本软件参照了市面上现有的各个软件的界面,通过大量的分析研究,制作出了目前最受欢迎的界面风格,同时安卓系统本身对界面的优化已经非常先进,相信能给用户带来直观的使用感觉。3.3.5 易用性为了方便用户使用,本软件的布局采用了FrameLayout,即将所有主要功能集中在一个界面中,其中的子功能嵌套在每个功能界面中,这样避免了界面过于混乱而带给用户的拥挤感,同时也将逻辑难度降到最小,由于本软件是运行在安卓系统中,所以对于大量的安卓用户来说,操作方法简单熟悉,易上手。3.4 系统功能需求本汽车报价的软件实现的了对汽车的报价功能、收藏功能以及其他功能,具体功能如下:(1)导航界面打开App,进入导航界面,共有四张照片。前三张向用户展示三张汽车照片,第四张照片简单介绍本App的功能天下好车,尽在掌控,点击图标后进入主界面。(2)汽车列表排序Fragment的第一项为汽车列表,根据汽车名称首字母顺序排列,同时可以通过侧边栏首字母快速定位想要找到的汽车,在侧边栏滑动时,左侧展示列表会根据字母相应滑动。(3)汽车列表搜索根据用户输入的第一个字符联想出汽车名称,更加快速,方便用户查找定位信息。(4)显示汽车详情点击汽车名称,通过Tomcat测试服务器得到汽车车名,最低价,详细信息等,直观的展示用户想要了解的汽车信息。(5)汽车收藏对于用户喜欢的汽车,用户可以点击五角星进行收藏,五角星变量后则收藏成功,用户可以在第二个Fragment汽车收藏界面中查看,在此界面中直接点击则可进去汽车详情。再次点击变亮的五角星,则将会变灰,并取消收藏此车。(6)汽车分享汽车的详情界面可以点击分享把汽车的相关信息发送给朋友,家人等,此分享功能可以检测系统的相关软件,例如QQ,微信,微博,点击即可分享。(7)设置在第三个Fragment中,用户可以查看开发者简介,也就是本人的信息,还有指导老师的信息;可以访问手机汽车之家的网页版来获得更全面的汽车报价信息;可以将软件分享给朋友;可以点击关于应用来查看本软件的版本和软件基本信息;还可以退出应用。4 系统设计4.1 概要设计目标概要设计即系统设计,需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计等。本软件则需要确定不同界面的功能,点击界面控件的跳转逻辑,控件索要用到的继承关系,然后总结出一个整体的组织结构。本系统是设计目标是设计一个基于Android系统的汽车报价系统,从进入应用的导航界面,到应用的实际功能界面,再到子功能模块,都有着自己的设计思路和风格,并且在原有基础上增加了自己认为比较实用的功能,配合独特的布局特点,给用户方便的操作体验。账户电话号码用户查看汽车价格名称图片详细图4-1 ER图4.2 E-R图 用户登录App后系统自动获取用户的账户以及电话号码进行存储,用户可以通过App查看汽车信息,用户与汽车之间为多对多的关系,及一个用户可以查看多辆汽车信息,一辆汽车可以被多个用户查看。用户可以查看汽车的名称、价格、图片以及详细信息。4.3 系统模块图图4-2 系统模块图汽车报价系统总分为两个模块,用户与管理员。管理员在App中不会显示,是开发人员在后台进行操作数据库内容,所以之后的介绍只介绍App展示内容即用户,用户可以浏览汽车列表,对汽车进行收藏并在收藏列表中浏览,可以向好友分享本App,可以浏览官方网页进行详细查询。管理员则实时更新数据库汽车信息,并在系统做改动后提供新版本供用户升级。4.4 系统流程图本软件包括导航界面,首页汽车列表,收藏界面,汽车列表,汽车详情界面,更多设置界面,开发者简介界面,访问手机汽车之家界面,分享给朋友对话框,关于应用界面,退出应用对话框。如图4-3所示。图4-3 系统流程图4.5 文件结构设计本Android项目文名称为Car,根据系统的架构创建了不同的包,不同包中创建不同功能的java文件。此软件总共有7个包:org.liushuai.bishe.activity中的文件是软件的界面文件;org.liushuai.bishe.databases中的文件是软件所需的数据库文件;org.liushuai.bishe.entity中写的是Bean类文件;org.liushuai.bishe.fragment是软件布局用到的FrameLayout界面文件。O是在连接测试数据库时用到的两个连接服务器的方法和一个获取服务器数据的方法,org.liusuai.bishe.sort中是汽车列表排序用到的java文件,org.liushuai.bishe.util中是要用到的通用的类。工程结构如图4-3。图 4-3 工程结构图图4-4 包中文件图各个包中的文件如图4-4。为了明确说明项目结构,表4-1、4-2说明了包中各个java文件所实现的对应的功能。表 4-1 系统代码结构包名称文件名说明org.bishe.activityDetailActivity.java汽车详情界面org.bishe.activityMainActivityt.java主界面org.bishe.activityMore_about_Activity.java设置-关于应用界面org.bishe.activityMore_intro_Activity.java设置-开发者简介界面org.bishe.activityMore_webview_Activity.java设置-访问手机汽车之家界面org.bishe.activityMore_share_Activity.java设置-分享给朋友界面org.bishe.activityPageview.java导航界面org.bishe.databasesMySqliteOpenHelper.java数据库类org.bishe.entityCart.java汽车类,存放汽车详情org.bishe,fragmentCollect.java收藏界面org.bishe,fragmentHomepage.java首页界面org.bishe.fragmentMore.java设置界面GetCars.java获取服务器数据的方法HttpMethod.java请求服务器GET,POST方法NetConnection.java连接服务器类org.bishe.sortDisplayUtil.javadp和px转换的工具类org.bishe.sortListViewAdapter.java汽车排序适配器org.bishe.sortMySideBar.java侧边字母搜索org.bishe.sortPinyin4.java拼音转换方法类org.bishe.sortSortListUtil.java排序工具类org.bishe.utilConfig.java常量类org.bishe.utilHttpThread.javaWebview类表 4-2 资源文件名称及说明资源目录文件名说明drawablecollect_selector.xml主界面图片点击变换文件main_selector.xmlmore_selector.xmlLayoutactivity_detail.xml汽车详情界面布局activity_main.xml主界面布局adapter_list_index_layout.xml汽车列表适配器布局blank.xml导航界面进入应用的布局collect_adapter.xml收藏界面适配器布局collet.xml收藏界面布局home.xml首页布局more_about.xml关于应用布局more_share.xml分享给朋友布局more_webview.xml打开手机汽车之家布局more.xml设置的布局test_listview_index_layout.xml汽车列表布局viewpager.xml导航界面布局valuescolor.xml颜色的xml文件dimens.xml长宽的xml文件string.xml汉字的别名文件styles.xml界面格式4.6 数据库设计本软件要用到Android SQLite数据库,此数据库是在对汽车进行收藏时对其详细信息如汽车名、价格、详细介绍等以及是否收藏的状态进行保存,这样能实现收藏界面动态查询收藏的汽车列表并能够和汽车详情界面实现关联,取消收藏则从数据库中删除数据。 创建“mydb”数据库,创建表collect,具体表结构如表4-3。表4-3 collect表结构字段名字段类型是否可为空字段含义约束_idintegerN收藏的汽车id主键statustextN汽车收藏的状态nametextN收藏的汽车名pricetextN收藏的汽车价格pictureintegerN收藏的汽车图片id5 系统实现本章详细介绍该App的各个模块的实现,并按照开发软件的设计思路来逐步讲解。在Eclipse中搭建项目名为car的工程,然后根据自己的设计流程,逐步完善项目。5.1 导航界面的实现首先导航界面要让用户有良好的视觉体验,所以设计了三张时尚的汽车图片,用户可以通过滑动来切换图片。第四张为App标识图片,天下好车,尽在掌控醒目的标语让用户了解该App的主要功能。之后按照提示点击则可以进入主界面。图5-1导航界面具体的实现效果如图5-1,5-2所示。图5-2导航界面具体代码实现如下:publicclass Pageview extends Activity implements OnClickListener,OnPageChangeListener /初始化小圆点publicvoid initDots()dots = new ImageView3;/循环取得小点图片for (inti = 0; ipics.length; i+) dotscurrentIndex.setEnabled(false);/设置为橘黄色,即选中状态/小圆点的点击事件Overridepublicvoid onClick(View v) position= (Integer) v.getTag();setCurView(position);setCurDot(position);/设置滑动时圆点的位置privatevoid setCurDot(intposition) if (positionpics.length-1)ll.setVisibility(View.GONE);return; dotsposition.setEnabled(false);dotscurrentIndex.setEnabled(true);currentIndex = position; /页面选中时,小圆点的位置Overridepublicvoid onPageSelected(intarg0) setCurDot(arg0);5.2 主界面的实现主界面的主体为FrameLayout布局,分别可以切换导航页,收藏页以及设置页。图5-3主界面具体的实现效果如图5-3所示。具体代码实现如下:publicclass MainActivity extends FragmentActivity implements OnClickListenerOverrideprotectedvoid onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/初始加载homepage这个fragmentfm = getSupportFragmentManager();tr= fm.beginTransaction();tr.add(R.id.framelayout_mainfragment, homepage, homepage.getClass().getSimpleName();mit();setNavigateButton();ib_home.setImageResource(R.drawable.homepage_dark);ib_home.setEnabled(false);Overridepublicvoid onClick(View v) switch (v.getId() case R.id.main_ib_home:/点击收藏setVisible(collectTop);setNavigateButton();ib_collect.setImageResource(R.drawable.collect_dark);ib_collect.setEnabled(false);if(!collect.isAdded()tr = fm.beginTransaction();tr.add(R.id.framelayout_mainfragment, collect, collect.getClass().getSimpleName();mit();fm.executePendingTransactions();mainFragment.removeAllViews();mainFragment.addView(collect.getView();break;5.3 首页的实现首页中显示汽车的排序列表。汽车按照首字母顺序进行排列,用户可以根据侧边栏首字母快速定位到想要了解的汽车。图5-4首页界面具体实现效果如图5-4所示。具体代码实现如下:publicclass Homepage extends Fragment implementsOnTouchingLetterChangedListener, OnItemClickListener, OnClickListener Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) View view = inflater.inflate(R.layout.home, container, false);/ 搜索控件的声明,适配和点击事件ArrayAdapterautoadapter = new ArrayAdapter(context,android.R.layout.simple_list_item_1, cars);autotext.setAdapter(autoadapter);aut

温馨提示

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

最新文档

评论

0/150

提交评论