基于Android平台的去哪儿旅行记录与分享设计.docx
- 文档编号:29804151
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:27
- 大小:748.46KB
基于Android平台的去哪儿旅行记录与分享设计.docx
《基于Android平台的去哪儿旅行记录与分享设计.docx》由会员分享,可在线阅读,更多相关《基于Android平台的去哪儿旅行记录与分享设计.docx(27页珍藏版)》请在冰豆网上搜索。
基于Android平台的去哪儿旅行记录与分享设计
基于Android平台的“去哪儿旅行记录与分享”设计
天津市大学软件学院
毕业设计
基于Android系统的“去哪儿”旅行记录与分享APP
姓名常栓红
专业软件工程
学号1350410909
学籍校天津理工大学
学校指导教师王占刚(副教授)
企业指导教师朱凤山(高级工程师)
摘要
在如今社会中,旅游作为一个新的服务业态成型,随后各种在线旅游网站相继出现,如去哪儿、驴妈妈、途牛旅行网等,在线旅游业迅猛发展起来。
在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。
这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。
Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。
因此,对于软件从业人员来说,Android平台具有无限的吸引力。
本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的“去哪儿”旅行记录与分享软件。
关键词:
旅行记录;记录分享;安卓平台;旅游
ABSTRACT
Intoday'ssociety,tourismasanewserviceformatsmolding,followedbyavarietyofonlinetravelsiteshaveemerged,suchaswheretogo,donkeymother,thewaycattletravelnetwork,therapiddevelopmentofonlinetravelindustry.
Inthesystemofintelligentmobilephonewarlordsdisputewhenin2008,GooglelaunchedaproductcalledtheAndroidopensourcesmartmobilephoneoperatingsystem,whichusesLinuxkernel,openmobilephoneAlliance(OHA)memberscanbefreetouseandmodifytheSDKpackage,opensourcesystemwhichhasgoodexpansion.Thesoftwareincludestheoperatingsystem,userinterfaceandapplicationsthatneedintelligentmobilephone,allthesoftware.ItsopenarchitectureisthebiggestcharacteristicofAndroid,notonlyhasaverygooddevelopment,debuggingenvironment,butalsosupportsavarietyofscalableuserexperience,includingrichgraphicalcomponents,multimediasupportandpowerfulbrowser.Therefore,forsoftwareprofessionals,Androidplatformhasunlimitedattraction.
Inthispaper,basedonanalyzinganddiscussingtheAndroidmobilephonesoftwaredevelopmenttechnologyonAndroidplatform,developedthe"wheretogoto"travelrecordsandsharingbasedonthesoftwaretoprovideuserswithbetter.
Keywords:
Travelrecord,share,Androidplatform,tourism
第一章引言1
1.1课题背景1
1.2国内外发展现状1
第二章相关技术概述3
2.1主要开发内容3
2.2主要开发思路和方法3
2.3软件开发技术4
2.4体系结构4
2.4.1操作系统层(OS)5
2.4.2各种库(Libraries)和Android运行环境5
2.4.3应用程序框架(ApplicationFramework)6
第三章项目可行性及需求分析7
3.1可行性分析7
3.1.1经济可行性7
3.1.2技术可行性7
3.1.3操作可行性7
3.2软件需求分析7
3.2.1对软件的需求7
3.2.2基本功能8
3.3本软件的预期成果8
第四章系统实现9
4.1软件的主要设计框图9
4.2软件数据模型设计9
4.3代码介绍10
4.3.1背景图片选择实现10
4.3.2开机动画11
4.3.3写记录核心代码12
4.3.4记录加密核心代码14
第五章软件测试18
5.1测试的重要性及目的18
5.2测试流程18
结束语21
参考文献22
附录文献翻译23
I英文原文23
II中文译文24
致谢25
第一章引言
1.1课题背景
美丽的旅游胜地吸引了无数的游客前往观赏,但是有好多游客不能对旅游具体情况做准备。
为了让游客能更清晰的认识到“去哪儿”旅行记录与分享APP,游玩舒畅,开发“去哪儿”旅行记录与分享APP的旅游网站很有必要。
“去哪儿”旅行记录与分享APP旅游(MIS)是一个具有交互功能的旅游记录软件,本软件的开发主要包括后台数据库的建立和维护以及前台程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于APP设计则要求应用程序功能完备,易使用等特点。
该软件符合安卓APP开发的要求,本人也对界面设计、安卓本体数据库设计等进行了较深入的学习和应用,主要完成了旅程的记录、记录的查看、记录的搜索以及记录分享功能。
1.2国内外发展现状
电子商务可以将信息流、商流、资金流进行有效的管理,提高产业链的工作效率并降低成本。
旅游业是最适合开展电子商务的行业之一,通过先进的网络技术手段提高企业内部、企业之间、企业与消费者之间的信息交流与沟通,改进旅游业的业务工作流程,所以电子商务对旅游业的发展具有深远的意义。
发达国家和地区在这方面已经取得了巨大的成效。
欧美发达国家,旅游电子商务已经成为整个电子商务领域最大、最突出的部分。
资料显示,全球旅游电子商务连续5年以35%以上的速度增长,一度占到全球电子商务总额20%以上。
与国外相比,我国旅游电子商务起步稍晚,在1996年才开始出现专业的旅游网站其后旅游电子商务快速发展,到2000年进入第一个高潮期,但在2001年由于受世界旅游业整体负增长形势的影响,中国的旅游业在这一年经历了一定的困境,增长速度有所下降;2002年中国旅游业又开始整体回升,在2005年年底又掀起了新的一轮旅游电子商务热,自此又进入了一个新的“加速发展期”。
目前,我国具有一定旅游资讯能力的网站已有五千多家。
其中专业旅游网站300余家,主要包括地区性网站、专业网站和门户网站的旅游频道3大类。
但是,旅游电子商务还处在初级阶段,与发达国家相比还存在较大差距。
(1)国内登录过旅游网站的网民占网民总数的比例较小,而进行过网上旅游预订的网民比例更小。
(2)我国旅游业应用电子商务软件的总体发展水平很低,信息服务能力有限,网络营销仅仅是一种时尚,消费者的培育,旅游电子商务软、硬件环境的成熟和政府政策法规的建设等等都是急待解决的问题。
作为一个拥有丰富旅游资源的大国, 我国有望借助先进的信息化手段帮助旅游业实现迅猛增长,迎来更大的飞跃。
第二章相关技术概述
2.1主要开发内容
“去哪儿”旅行记录与分享APP是一种具有集记录和分享功能一体的实用软件,是在安卓实体机上通过安卓自带数据库储存信息。
。
因此这必将是广泛应用的网络应用软件,本文会让开发人员更好的开发以及管理本项目,让使用本APP的用户大致了解软件的功能和流程。
(1)深入了解企业、社会在“去哪儿”旅行记录与分享APP旅游的业务流程以及一些基本的需求和功能,在此基础上绘制用例图,完成基于Android软件的“去哪儿”旅行记录与分享APP的设计与开发的需求说明书;
(2)借鉴一些书籍,学习和研究开发该软件的相关技术,如JSP项目开发、MySQL数据库、Web编程等等;
(3)具体实现基于Android软件的“去哪儿”旅行记录与分享APP的设计与开发,包括分析和使用数据库,软件的详细设计。
经过以上分析,本人决定将该软件分为以下几个模块:
主要功能:
主要包括旅行记录、查看记录、搜索记录、记录加密以及记录分享。
其他设计:
背景切换、用户反馈、提醒设置、帮助。
2.2主要开发思路和方法
一个功能完整的基于Android软件的“去哪儿”旅行记录与分享APP的设计与开发,本APP未设置用户注册和登陆,进入软件后,可以对软件进行加密上锁,安全性相对提高。
软件内日期自动更新,当日天气可进行选择,每日可无限制增加旅游记录,提供查找功能,根据关键字搜索可快速查找到相关记录,对此记录可以通过第三方分享到QQ、新浪微博等社交网站。
硬件环境:
本软件运行的硬件环境如下:
Android:
1G以上;内存:
512M以上;
软件开发方法:
根据用户的实际情况和需要,最终决定采用在Android下使用JSP+SQL开发,利用spring框架,采用B/S结构。
2.3软件开发技术
以Android为开发平台,Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类(class)负责创建视窗(window),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。
两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。
如果运行中的Activity全部画面被其他Activity取代时,该Activity便被停止(stopped),甚至被系统清除(kill)。
View等同于J2ME的Displayable,程序人员可以通过View类与“XMLlayout”档将UI放置在视窗上,Android1.5的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的AndroidHero手机即含有大量的widget。
至于ViewGroup是各种layout的基础抽象类(abstractclass),ViewGroup之内还可以有ViewGroup。
View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。
View与事件(event)息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个eventlistener,例如:
当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。
另外还有Image等同于J2ME的BitMap。
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,在不同的软件平台上运行,代码不用做任何更改。
(2)软件的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行软件不是和运行。
相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.4体系结构
2.4.1操作系统层(OS)
Android使用Linux2.6作为操作系统,Linux2.6是一种标准的技术,Linux也是一个开放的操作系统。
Android对操作系统的使用包括核心和驱动程序两部分,Android的Linux核心为标准的Linux2.6内核,Android更多的是需要一些与移动设备相关的驱动程序。
主要的驱动如下所示:
显示驱动(DisplayDriver):
常用基于Linux的帧缓冲(FrameBuffer)驱动。
Flash内存驱动(FlashMemoryDriver)。
照相机驱动(CameraDriver):
常用基于Linux的v4l(Videofor)驱动。
音频驱动(AudioDriver):
常用基于ALSA(AdvancedLinuxSoundArchitecture,高级Linux声音体系)驱动。
WiFi驱动(CameraDriver):
基于IEEE802.11标准的驱动程序。
键盘驱动(KeyBoardDriver)。
蓝牙驱动(BluetoothDriver)。
BinderIPC驱动:
Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能。
PowerManagement(能源管理)2.2.2C/S模式与B/S模式的分析比较
2.4.2各种库(Libraries)和Android运行环境(RunTime)
本层次对应一般嵌入式系统,相当于中间件层次。
Android的本层次分成两个部分一个是各种库,另一个是Android运行环境。
本层的内容
大多是使用C++实现的。
在其中,各种库包括:
C库:
C语言的标准库,这也是系统中一个最为底层的库,C库是通过Linux的系统调用来实现。
多媒体框架(MediaFrameword):
这部分内容是Android多媒体的核心部分,基于PacketVideo(即PV)的OpenCORE,从功能上本库一共
分为两大部分,一个部分是音频、视频的回放(PlayBack),另一部分是则是音视频的纪录(Recorder)。
SGL:
2D图像引擎。
SSL:
即SecureSocketLayer位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
OpenGLES1.0:
本部分提供了对3D的支持。
界面管理工具(SurfaceManagement):
本部分提供了对管理显示子系统等功能。
SQLite:
一个通用的嵌入式数据库
WebKit:
网络浏览器的核心
FreeType:
位图和矢量字体的功能。
Android的各种库一般是以系统中间件的形式提供的,它们均有的一个显著特点就是与移动设备的平台的应用密切相关。
Android运行环境主要指的虚拟机技术——Dalvik。
Dalvik虚拟机和一般JAVA虚拟机(JavaVM)不同,它执行的不是JAVA标准的字节码(bytecode)而是Dalvik可执行格式(.dex)中执行文件。
在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。
二者最大的区别在于JavaVM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。
显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。
3.3软件可行性分析
为了给软件开发者提供是否进行项目实施的参考依据,现分析项目的风险、项目需要的投资以及效益。
2.4.3应用程序框架(ApplicationFramework)
Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。
由于上层的应用程序是以JAVA构建的,因此本
层次提供的首先包含了UI程序中所需要的各种控件:
例如:
Views(视图组件)包括lists(列表),grids(栅格),textboxes(文本框),buttons(按钮)等。
甚至一个嵌入式的Web浏览器。
一个Andoid的应用程序可以利用应用程序框架中的以下几个部分:
Activity(活动)
BroadcastIntentReceiver(广播意图接收者)
Service(服务)
ContentProvider(内容提供者)
第三章项目可行性及需求分析
3.1可行性分析
3.1.1经济可行性
基于Android软件的“去哪儿”旅行记录与分享APP的设计与开发是一个小型的实用型软件,在开发时需要软件开发人员花费一定的时间和精力,因此需要一定的资金。
开发、运行和维护费用主要包括:
购买和安装设备的费用:
计算机硬件、软件、机房、电源等;
但它给企业带来的利润是不可估量的,节省了许多人力,物力上的开支,使资产管理工作变繁为简,使其更加合理化、规范化。
工作效率的提高就意为着整体水平的提高,是非常值得投资的。
3.1.2技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本App管理软件用的是java开发语言,调试相对简单,当前的手机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面:
由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足软件的需求。
3.1.3操作可行性
软件是在JDK环境下开发的,易于操作。
而且软件还采用了可视化面向对象的工具开发,其窗口、界面简洁易懂,所以软件在操作上是可行的。
3.2软件需求分析
3.2.1对软件的需求
本类型的软件的种类很多,而每一个分类下又有很多子类。
还应该提供用户管理,并对其设置权限管理。
软件还应该做到对数据的快速查询。
经实际调查,要求本软件具有以下功能:
(1)界面设计美观大方,方便、快捷、操作灵活。
(2)如果软件的使用对象较多,有备份功能防止数据丢失。
(3)对记录要有一个类别管理。
(4)提供对记录的天气、心情、记录操作。
(5)方便信息的查询。
(6)在相应的权限下,可方便的删除、添加、修改数据。
3.2.2基本功能
1.写记录:
可以新增旅游记录,输入地点,选择天气
2.记录查询:
可以通过记录内容的关键字或者地点查询曾经写过的记录。
3.记录加密:
可以通过图形或者数字加密,保证记录的安全性。
4.记录分享:
通过分享功能,将自己旅行所见所想分享给朋友,一同分享旅行中的快乐。
3.3本软件的预期成果
设计和实现基于Android软件的“去哪儿”旅行记录与分享APP的设计与开发,使旅行记录简单化、快速化。
从而达到提高记录效率、降低成本的目的,本软件应达到如下目标:
(1)灵活的人机交互界面,操作简单方便,界面简洁美观;
(2)可以通过菜单、工具栏等灵活操作;
(3)对客户和操作员的信息互通提供相应的管理功能:
(4)查询方便,无论是按地点、内容其中任一项都可以进行有效查询;
(5)软件可以加密
(6)软件运行稳定,安全可靠。
第四章系统实现
4.1软件的主要设计框图
本软件的主要设计框图,如图3-1所示,主要描述了此软件应该具有的功能模块以及实现的功能模块。
图4-1软件框图
4.2软件数据模型设计
计算机信息软件以数据库为核心,在数据库管理软件的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。
对于数据库应用开发人员来说,为使现实世界的信息流计算机化,并对计算机化的信息进行各种操作,就是如何利用数据库管理软件、软件软件和相关硬件软件,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。
确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理软件所接受,同时能实现软件目标,并有效存取数据的数据库。
4.3代码介绍
4.3.1背景图片选择实现
软件内置四种图片,可供选择成为背景图片。
如图4-2
图4-2背景图片
具体代码实现如下:
//软件背景图片选择
privatevoidsetBackground(){
//得到当前布局
LinearLayoutlayout=(LinearLayout)this.findViewById(R.id.about_layout);
//得到id,此处id是在设置背景里面产生的,此处暂不解释
intid=preferences.getInt("id",0);
if(id==0){//id=0说明是初始化时的背景
//设置背景方法
layout.setBackgroundResource(R.drawable.diary_view_bg);
}elseif(id==1){//id=1说明用户选择了第一幅图片
layout.setBackgroundResource(R.drawable.diary_view_bg);
}elseif(id==2){//id=2说明用户选择了第二幅图片
layout.setBackgroundResource(R.drawable.spring);
}elseif(id==3){//id=3说明用户选择了第三幅图片
layout.setBackgroundResource(R.drawable.summer);
}elseif(id==4){//id=4说明用户选择了第四幅图片
layout.setBackgroundResource(R.drawable.autumn);
}elseif(id==5){//id=4说明用户选择了第四幅图片
layout.setBackgroundResource(R.drawable.winter);
}
}
4.3.2开机动画
为了增强用户体验感,本软件新添开机欢迎界面,如图4-3
图4-3开机动画图片
//软件加载
AnimationleftOutAnimation=AnimationUtils.loadAnimation(
getApplicationContext(),R.anim.translate_left);
AnimationrightOutAnimation=AnimationUtils.loadAnimation(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 平台 哪儿 旅行 记录 分享 设计