《数据库课程设计报告--美食主题-安卓系统菜谱查询应用程序.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告--美食主题-安卓系统菜谱查询应用程序.docx(15页珍藏版)》请在第壹文秘上搜索。
1、数据库课程设计美食主题安卓系统菜谱查询应用程序CookBook目录一、麒要求2二、选题背景3三、需求分析3四、削理念3五、开发工具7六、实现步骤7七、结果15八、总结与体会15课题主题美食菜谱一、选题要求以美食为主线,最好与健库和互联网,移动互联网相关,开发一个小应用程序或者小系统。可参考如下一些相关的美食网站:广州美食团购:http:gz.meituan.Comcategorymeishiall?UtmqmPaigr=I344091295&utmmedium=cpc&utmsource=baidu&utmcoment=PinIei&utmterTn=%E7%BE%8E%E9%A3%9F%E5
2、%9B%A2%E8%B4%AD%E7%BD%91京东美食:http:WWW二、选题背景随着人们生活水平的普遍提高,对餐饮娱乐业的服务、硬件设施、菜品口味的要求越来越挑剔。加上原材料的不断上涨,人工成本越来越高以及越来越多食品安全丑闻的曝光,自己动手做菜成了现代生活的最佳觅食手段。自己动手做菜,则不仅要保证色香味俱全,还要营养价值丰富。那么方便查阅的菜谱必不可少。一份方便的菜谱,不仅要让用户能够根据食材和菜名快速的找到相关菜肴,还要对菜肴有详细的介绍,对做菜的步骤有详细的说明。除此之外,还要有方便快捷的信息统计功能,如菜谱所需食材的统计、食材总价的估算、当季热门菜谱的推荐、用户收藏夹的查阅等等功
3、能来帮助用户快捷的使用菜谱。本应用程序就是希望通过向大众提供营养的食谱,向更多的关注健康的人们提供一个吃出健康的好环境。它的服务又掇是非常广泛的,前景十分广阔。三、需求分析这里主要描述客户需求1 .登陆/注册账号2 .根据菜谱名称或者食材进行模糊搜索3 .点击搜索返回结果以查看菜谱详细内容菜谱详细内容包括:3.1. 菜谱图片一张32少于200字的菜式简介3.3. 适合人数,消耗时间3.4. 食材(包括配料)名称、用量3.5. 若干步骤36用户评价4 .收藏菜谱5 .丽介菜谱6 .将菜谱食材加入购物清单7 .查看购物清单(包含食材名字、用量、总价)8 .清空购物清单9 .查看个人收藏四.设计理念
4、1.系统逻辑谢十2.数据库设计2.1. E-R图2.2.关Ingredient?w2.3.数据字典PC-20140404KILC.kBookDB-dbo.DishPC-201404列名 Did Dname DintrodurtonDpic DtimeCost Dpeople Dhot数据类型 int nvarchar(20) nvar char (200) vardar(30) tinyint tinyint int允许NUl值DdateSmalldate tme列名数据类组允许Nul值intUnamenvar char(10)Upasswordnvar char (20)iPC-201404
5、04KILC.ookDB - dbo.Users PC-2014040PC-20140404KILC.B - dboJngredient PC-20140404列名数据类数一不泮NuI值3ntInamevardar(10)Ipricenumeric(4, 1)Iunitnvarchar(2)PC-20140404KILC.B - dbo.Seasoning SQLQueryl.s列名额据类空-充*2值?nintSnamenvarchar(8)PC-20140404KIIDB - db。.CommentS PC-一201PC-20140404KILCo dboJngredientList PC-
6、20140/列名数据类汇允许NuI值皿intEIidint0!amountnumehc(Sf 2)PC-20140404KILCo.dbo.SeasoningListPC-2014O列名数据类型允许NUll值IntDidIntESanxxjntnchar(5)列名数据类型允许Null值用 CidlintPC-20140404KILC.-Ccontentnvardar(200)列名Cdatesmalldatetime UidlDidintCidPC-20140404KILC.ookDB - dbo.Steps PC-2014040PC-20140404KILC.-列名数据类空允许Nul值Step
7、IDint0列名DidintOSaxitentnvarchar(200)IrlDid2.4.建表语句db。.CommentLiSt PC-201404C数据类受痴NuH值Int口int口Odbo.BookmarkList PC-201404数据类型福NUIl值useCookBookDBgcreatetableDish(Didintprimarykeynotnull,Dnamenvarchar(20)notnull,Dintroductionnvarchar(200)notnulldefault,暂无介绍:Dpicnvarchar(30).DtimeCosttinyintnotnull,Dpeo
8、pletinyintnotnull.DhotintnotnulldefaultO.DdateSmalldatetimenotnulldefaultgetdate();createtableIngredientfIidintprimarykeynotnull,Inamenvarchar(10)notnull,!pricenumeric(4.1)notnull.Iunitnvarchar(2)notnull);createtableSeasoning(SidintPrimarykeynotnull.Snamenvarchar(8)notnull);createtableComments(Cidin
9、tprimarykeynotnull.Ccontentnvarchar(2()0)notnullCdateSmalldatetimenotnull.Didintnotnullforeignkey(Did)referencesDish(Did)ondeletecascade);createtableSteps(StepIDintprimarykeynotnull,Didintnotnullforeignkey(Did)referencesDish(Did)ondeletecascade.Scontentnvarchar(2(X)notnull);createtabicIngredientList
10、(Iidintnotnullforeignkey(Iid)referencesIngredient(Iid)ondeletecascade.Didintnotnullforeignkey(Did)referencesDish(Did)ondeletecascade,!amountnumeric(5,2)notnull);createtableSeasoningList(Sidintnotnullforeignkey(Sid)referencesSeasoning(Sid)ondeletecascade.Didintnotnullforeignkey(Did)referencesDish(Did
11、)ondeletecascade.Samountnchar(5)notnull一比如一茶匙)createtableUsers(Uidintprimarykeynotnull,Unamenvarchar(10)notnull,Upasswordnvarchar(20)notnull.)createtableBookinarkLisKUidintnotnullforeignkey(Uid)referencesUsers(Uid)ondeletecascade.Didintnotnullforeignkey(Did)referencesDish(Did)ondeletecascade.)create
12、tableCommentList(Uidintnotnullforeignkey(Uid)referencesUsers(Uid)ondeletecascade.Cidintnotnullforeignkey(Cid)referencesComments(Cid)ondeletecascade.五.开发工具环境:SQLsevermanagementstudio2008xeclipse.VisualStudio2010语言:SQL、java、C+工具包:AndroidSDK、ADO组件六.实现步骤6.1客户端实现:1 .设计程序界面:在纸上画出草图,确定每个功能应该在什么界面实现2 .Andro
13、id编程:在装有ADT的eclipseIDE中进行编程,实现页面布局设计、页面间跳转、请求数据、显示返回数据等需求分析中提到的功能。其中,实现页面布局设计是我们对ADT中的布局文件进行了编写,页面间爵炼专以及请求和返回数据我们是通过intent来相互传送,其中核心步骤的代码为:加VerrIdepublicvoidonItemClick(AdapterViewargQ,Viewargl,intarg2,longarg3)TODOAuto-generatedmethodstubIntenti=newIntent(Homepage.this,detailinfo.class);listdatadat
14、a=adapter.getltem(arg2);|/Toast.makeText(this,data.name,Toast.LENGTH_SHORT).show();i.putExtra(txt,data.Did);startActivity(i);在首页的GridView网格视图中任意点击一个item,都能传输菜的id(即上图中的Did)到客户端,客户端连接以及得到id这个参数的核心代码如下,然后服务端根据id作为key搜索数据库,并返回菜谱的内容。publicvoidonClick(Viewarg)TODOAuto-generatedmethodstubif(iSConnecting&mSocketCIient!=null)StringmsgText=getlntent().getStringExtra(txt);取得编辑框中我们输入的内容if