基于android平台的美食分享社区的设计与实现文档格式.docx
《基于android平台的美食分享社区的设计与实现文档格式.docx》由会员分享,可在线阅读,更多相关《基于android平台的美食分享社区的设计与实现文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
Tutor:
LiDonghui
(OrientalScience&TechnologyCollegeofHunanAgriculturalUniversity,Changsha410128)
Abstract:
AsthemobileInternetquicklysenda,giveprioritytoinordertoopentheandroidplatformofmobilemarkethasbeentightlyformedacompleteindustrialchain,andrapidexpansion.MobilephoneAPPasanimportantpartinthemobileInternetbroughtgreatconvenienceforpeople'
slife.FoodsharingcommunitybasedontheAndroidplatformisfortheconvenienceofpeople'
slife,theapplicationmainlytoprovideuserswithfastlearningfoodproductionandsharetheachievementsoftheirownfood,andotherfunctions,enrichtheuser'
sdailylife.
Keywords:
Android;
APP;
MobileInternet;
Gourmetshare
1.
前言
随着科技的不断发展,手机行业已逐渐从功能机时代转向智能手机的方向发展。
目前智能手机已经在市场上占有很多比重。
总之,智能手机的时代已经到来了。
而Android作为智能手机系统开发中的佼佼者,是在Linux基础上开发的。
因为源码的开放性,深受广大的开发者的支持。
Android系统开发也从最初的只支持手机端的开发发展到各个行业,如pad、KTV房的点歌系统等都能用Android系统开发。
Android以其独特的魅力迅速提升。
Android能超过塞班就用了一年一个季度。
如今人们的生活节奏越来越快,衣食住行作为人们的最基本的需求,因此此类应用也非常之多。
就“食”而言,很多人们对餐厅太过拥挤、食物质量得不到保证、客流高峰期就餐困难、点餐等待等问题非常困扰,而自己却因不会自己动手做出自己喜欢的美食,而不得不被迫困扰于这些问题中,此“美食分享社区”就是为了让人们在最短的时间学习制作出自己喜欢的美食。
2.Android的技术与理论
2.1.系统架构
Android的系统架构和其操作系统一样,采用了分层的架构。
从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
(如图1)
图1Android系统架构图
Fig1Androidsystemarchitecture
2.1.1.Linux内核层
Android的核心系统服务依赖于Linux2.8内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。
Linux内核也同时作为硬件和软件栈之间的抽象层[11]。
2.1.2.系统运行库
系统运行库主要包括程序库,和Android运行库。
程序库:
Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。
它们通过Android应用程序框架为开发者提供服务。
以下是一些核心库:
*系统C库-一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embeddedlinux的设备定制的。
*媒体库-基于PacketVideoOpenCORE;
该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。
编码格式包括MPEG4,H.284,MP3,AAC,AMR,JPG,PNG。
*SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
*LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
*SGL-底层的2D图形引擎
*3Dlibraries-基于OpenGLES1.0APIs实现;
该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。
*FreeType-位图(bitmap)和矢量(vector)字体显示。
*SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
Android运行库:
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例[14]。
Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。
Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。
同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"
dx"
工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
2.1.3.应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。
该应用程序的架构设计简化了组件的重用;
任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
同样,该应用程序重用机制也使用户可以方便的替换程序组件[22]。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
*丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。
*内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
*资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
*通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
*活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
2.1.4.应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是使用JAVA语言编写的。
3.系统分析
3.1.开发环境
开发环境:
Windows7,Myeclipse10,eclipse,Tomcat服务器,jdk1.7,ADT22.3,SQLserver2008。
3.2.需求分析
3.2.1.功能需求
系统功能模块分析:
A)Android客户端:
此客户端主要分为三大模块:
1)热门菜品推荐:
每次进入客户端之后都会自动请求服务端获取最新、热门的相关菜品,用户可以对相关菜品加入喜欢列表,或者设置某些菜品不再推荐。
2)菜品分类:
这个模块对所有的菜品进行了智能、细致的分类,用户可以通过此分类页面进入您要查看的菜品类别。
3)菜品搜索:
包括关键字搜索、类别搜索、发布者搜索、标签搜索、等等。
B)后台数据处理端:
对数据进行操作,并与android客户端进行数据交互。
3.2.2.性能需求
无论是客户端和后台端,当用户登录,进行任何操作的时候,系统应该尽量及时的进行反应,反应的时间在3秒以内。
系统应能监测出各种非正常情况,如客户端的网络中断,无法连接数据库服务器,后台数据处理端链接异常,网络状况慢则提示用户稍后登录等,避免出现长时间等待甚至无响应。
3.2.3.界面需求
1)页面内容:
主题明确,排版清晰简洁,站点链接和标题格式统一,规范,栏目、菜单设置和布局合理,传递的信息准确及时。
内容丰富,功能多样。
控制广告数量,给人一种思路清晰,目的明确的感觉,同时也不失餐饮业介绍所应有的特色。
2)导航结构:
页面具有明确的导航指示,且便于记忆理解,方便用户使用。
3)机型兼容:
页面大小适当,能用各种常用机型以不同分辨率进正常使用此应用;
用Xml进行布局处理,尽量避免应机型的差异而出现的漏洞。
4)艺术风格:
界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方;
背景颜色适中,不会引起视觉疲劳;
色彩和谐自然,与主题内容相协调
3.2.4.可靠性需求
Android客户端应到保证2.2.x以上机型都能使用,并且使用主流的分辨率手机都能正确的显示,保证至少100人可以同时在客户端登录,系统正常运行,正确提示相关内容。
3.2.5.开发性及可扩充性需求
系统应具有十分的灵活性,以适应将来功能扩展的需求。
3.2.6.安全性需求
a)权限控制:
客户端由于一些功能上的需要,将会获得一些android系统上的相关权限,例如,网络访问权限、定位权限、存储读取权限等,不会泄漏用的个人隐私,如联系人、短信等敏感信息。
b)访问控制:
非注册用户(游客)只可以搜索美食信息,只有登陆用户才可以对美食进行收藏、上传、评价等操作。
3.2.7.可行性分析
随着我国经济的发展和人们生活水平的提高,全国餐饮企业一直保持着高速增长的态势,已成为了我国消费需求市场中增长幅度最高、发展速度最快的行业之一。
饮食行业作为第三产业,是国家大力倡导和重视加速发展的行业。
但是在飞速发展的同时也引发了很多问题,很多人们对餐厅太过拥挤、食物质量得不到保证、客流高峰期就餐困难、点餐等待等问题非常困扰,而自己却因不会自己动手做出自己喜欢的美食,而不得不被迫困扰于这些问题中,此“美食分享社区”就是为了让人们在最短的时间学习制作出自己喜欢的美食。
4.数据库设计
目前主流的数据库都是关系型数据库,关系型数据是指:
是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示[21]。
数据设计严格遵循数据库设计范式,至少要满足三个范式,关于三个范的介绍如下:
第一范式:
在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库[18]。
第二范式:
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。
第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。
第三范式:
满足第三范式(3NF)必须先满足第二范式(2NF)。
简而言之,第