毕业论文

发布时间:2024-11-24 01:41

使用学科交叉的项目作为毕业论文或研究,展现独特视角。 #生活技巧# #学习技巧# #跨学科学习路径#

文档简介

中北大学信息商务学院2016届毕业设计说明书中北大学信息商务学院毕业设计说明书基于Android的健康饮食搭配的设计与实现学生姓名: 2016年5月21号原 创 性 声 明 本人郑重声明:所呈交的毕业设计说明书/毕业论文,是本人在指导教师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本文不包含其他个体或集体已经发表或撰写过的科研成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。作者签名: 日期:使 用 授 权 声 明本人完全了解中北大学信息商务学院有关保管、使用毕业设计说明书/毕业论文的规定,其中包括:学院有权保管、并向有关部门送交毕业设计说明书/毕业论文的原件与复印件;学院可以采用影印、缩印或其他手段复制并保存毕业设计说明书/毕业论文;学院可允许毕业设计说明书/毕业论文被查阅或借阅;学院可以学术交流为目的,复制赠送和交换毕业设计说明书/毕业论文;学院可以公布毕业设计说明书/毕业论文的全部或部分内容。作者签名: 日期: 导师签名: 日期:基于安卓健康饮食搭配的设计与实现摘要:随着移动互联网的高速发展,人们无时无刻不在利用移动终端,智能手机已经普遍进入广大人们的手中,人们在利用移动手机来查看信息,上网聊天的同时,也在无时无刻关注着饮食健康问题,Android版健康饮食搭配的设计应运而生。本设计利用Android开发平台采用java+Android语言,用户可以在此APP软件上进行食物的选择。关键字:Android平台,饮食健康,Java,移动终端Design and implementation of a healthy diet based on AndroidAbstract:with the rapid development of mobile Internet, people are constantly not in the use of the mobile terminal, smart phone has generally enter the hands of the majority of people, people in the use of mobile phones to view the information, chat on the Internet at the same time, in each and every moment pay attention to diet and health problems, the Android version of healthy diet design arises at the historic moment.This design uses the Android development platform to use java+Android language,the user can choose the food on this APP softwareKey words:Android platform;diet helath;java;Mobile terminals目录摘要IAbstractII目录III1 概述11.1 研究的背景和意义11.2 研究的内容11.3 预期目标12 相关技术简介12.1 Android平台简介12.1.1 Android平台简介12.1.2 Android应用程序框架22.1.3 函数库32.1.4 Android运行时32.1.5 APK文件结构32.1.6中介软件42.1.7安全权限机制42.1.8应用组件42.2 XML技术72.2.1 XML简介72.2.2 XML用途72.2.3 XML语法72.2.4 XML解析82.2.5 XML应用83 系统分析93.1可行性分析93.1.1技术可行性93.1.2技术可行性93.1.3经济可行性93.1.4操作可行性93.1.5法律可行性93.2需求分析93.2.1 APP解决的主要问题93.2.2 APP具备的基本功能94 概要设计94.1设计思想94.2功能实现流程105 系统测试与运行115.1软件测试的目的115.2 软件测试的准则115.3软件测试的方法115.4软件测试的过程11结束语12致谢13参考文献14IV1 概述1.1 研究的背景和意义 人们生活水平的提高以及信息化技术的发展,使得人们越来越重视健康,用户希望能够对自己近期的饮食来进行有关营养健康分析,如果人们缺乏营养元素,那么就需要通过食物的购买以便可以及时补充相应的营养元素。为了满足用户的需求,所以开发一个健康饮食搭配的APP是迫切需要的。随着现代科技的飞速发展,一方面,以智能手机作为背景,迅速在国内发展起来。另一方面,人们的营养健康状况对国民的素质以及国家的未来都有很大的影响。现代的社会生活方式使得大多数人都处于一种亚健康状态,所以良好的营养搭配可以促进身体健康生长。然而,为了促进新一代年轻人可以一个养成良好的饮食习惯,就需要在业余时间给国民多增加点营养知识,这样呢,就可以普遍促进人们的身体素质,进而促进人们的经济发展。在国际上,处于发达国家之中的一些国家,就拿美国、日本来说,他们将学校供餐通过规范化、标准化、法制化来进行管理,对于这些发达国家,他们都有着很多年的营养教育史,面对着人们的呼声高涨,饮食健康对于活在当下的人们来说相当重要。因此,基于Android平台开发的饮食健康搭配的设计具有一定的重要理论和实践意义。1.2 研究内容 为实现基于Android健康饮食搭配的APP,此论文所研究的内容主要就Android平台开发一款应用程序的整体构思、整体设计、开发以及实现等流程给出相应的介绍。1.3 预期目标 1.功能强大:除了实现简单的饮食搭配功能外,还添加了登录注册的一些简单功能。 2.操作方便:对于广大使用Android手机的用户来说,此软件使用起来特别容易上手,功能用户一看便知,UI界面的创新程度,更适合于用户进行体验。2 相关技术简介2.1 Android平台2.1.1 Android平台简介Android基本上都是由一种嵌入式Linux系统加上手机应用开发软件组成。如果进一步来看其系统架构,包含四个主要层次。底层的Android操作系统是Linux内核,采用2.6版本的Linux内核,这一层的功能主要是用来个管理硬件驱动的程序、电力、网路、内存管理以及系统安全。第二层是函数库,这一层主要由大多数开源库组成,例如SQLite,网络函数库用来负责Android的网络浏览器的运行,除此之外还有2d/3d OpenGL图形和多媒体函数库分别用于支持各种视频和图形文件的播放。2.1.2 Android应用程序框架 Android应用程序框架提供一个API给编程人员使用。1.frameworks/base2.-api /全是XML文件,定义了API 3.-cmd /Android中的重要命令(am、app_proce等)4.-core /核心库5.-data /声音字体等数据文件6.-docs /文档 7.-drm /数字版权管理8.-graphics /图形图像9.-icu4j /用于解决国际化问题10.-include /头文件11.-keystore /数字签名证书相关12.-libs /库 13.-location /地理位置14.-media /多媒体15.-native /本地库16.-nfc-extras /NFC相关 17.-obex /蓝牙传输 18.-opengl /opengl相关19.-packages /设置、TTS程序、VPN程序20.-policy /锁屏界面相关21.-sax /XML解析器22.-services /Android的服务23.-telephony /电话相关24.-test-runner /测试相关25.-tests /测试相关 26.-tools /工具27.-voip /可视电话 28.-wifi /无线网络 以上所列举出的这些文件都包含了应用程序框架的大部分代码,正是这些目录下的文件,才构成了Android的应用程序框架层,才会将接口暴露给应用程序,程序员才可以在接口中写自己想要达到的代码,同时衔接系统程序库和硬件抽象层,形成一个由上至下的调用过程。2.1.3 函数库媒体库:基于PacketVideo OpenCORE;SGL:底部的2d图形引擎。FreeType:显示位图和向量字体。SQLite:可以让所有的应用程序使用轻量级关系型数据库,他的功能非常强大。2.1.4 Android运行时Android运行时包括Android核心库集和ART。虚拟机用来运行Android应用程序,核心库集中有一个Java语言核心库,这个可以使用里边的功能。ART不仅可以支持ARM、x86,而且还能够完全兼容64位系统,Android 5.0版本的升级,将会给用户带来更为不错为体验。2.1.5 APK文件结构APK文件结构1. META-INF (注:Jar文件中常可以看到);2. res (注:存放资源文件的目录) ;3. AndroidManifest.xml (注:程序全局配置文件) ;4. classes.dex (注:Dalvik字节码);当第一次需要解压运行一个程序的时候,安装的方法直接就像塞班那样安装,这样做显然对于程序的保密性和可靠性不是很高,可以通过dexdump反编译命令来进行操作,但这样必须要做符合一定发展规律。在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。通常安装文件或许不是我们想要的这个文件夹,apk文件会被放在android rom中系统里边的文件夹里,它们一样都拥有着root权限。2.1.6中介软件应用程序与操作系统的桥梁,应用程序包含函数层和虚拟机。Android使用谷歌的工具链。Android多媒体数据库使用的是SQLite数据库。数据库包含共享数据库和隐私数据库。2.1.7安全权限机制对于Android系统本身而言,他本身就处于一个操作系统许可部门。这类型操作系统和应用程序中都只能运行一个系统识别身份运行。应用程序与系统隔开。系统通过访问机制,进一步提供更为强大的安全功能。Android安全架构的主要设计思想是,在处于默认的设置下,所有的应用没有访问其他应用程序的权限,但对读写用户隐私数据如联系人,读写其他申请文件,访问网络或阻止备用设备等具有非常大的影响。应用程序会根据他们各自的功能,合理的权限进行要求。用户也可以进一步分析一个应用程序所需要的权限,简单的对应用程序是否安全进行确定。一款应用程序是单机版的,他里边没有参杂任何广告,不需要下载额外的内容,所以它需要访问的网络是有问题的。2.1.8应用组件 Android的应用组件主要有Activity、Service、BroadcastReceiver、ContentProvider。1.Activity(1)一个Activity通常作为一个单一的窗口出现。(2)通过意图之间进行沟通。(3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。(4)启动、关闭Activity一个简单的手机APP里边会包含好多个界面,比如一些登录界面,退出界面等,这些单个的界面就可以看成Activity,在操作APP的时候,只有一个界面会给用户展现出来,当在运行此应用软件的时候,就会自动的去转到所要选择的界面,也就是我们说的Activity,用来开启的此方法是调用startActivity(),从而使用户能进入到自己所想要进入的界面中去。关闭Activity常用的方法:finish();结束当前Activity(5) 使用Bundle在Activity之间交换数据一个活动开始,紧急着另一个活动进行,经常需要一些数据传过去,就像从一个Servlet在Web应用程序转移到另一个Servlet,用于需要requestScope中交换数据,对于Activity而言,活动之间的数据交换更加容易,因为两个Activity之间的信使,intent,我们只需要进行的操纵就是把数据放到里边。(6) Activity的回调机制 当一个Servlet被开发出来之后,此Servlet将会在web服务器当中运行,服务器将会对创建Servlet的实例进行检查,自己多会回调Servlet的方法,多会会对用户产生一定的响应处理,这些程序员都是没有办法进行控制的,这种回调是由服务器来自己决定的。2. Service他没有界面,是一种生命周期比较长的代码。Service是一种程序,它能跑很长很长一段时间,但它没有用户界面。这个播放由播放音乐的Service来对他进行控制。(1)开发Service需要两个步骤:第一,定义一个继承Service的子类,第二,在AndroidManifest.xml文件中配置该Service。3. ContentProviderAndorid当然也不会真正的让每个应用变成一个一个独立的主题,作为所有应用程序的窗口,这就是Content Provider。可以用于提供数据,一切看起来就像Rest一样,但事实上,它比其余的更加灵活。(2)当需要在多个应用程序之间来进行数据的共享,才会出现内容提供者。它的优点就在对数据进行统一访问。4.BroadcastReceiver(1)java代码的上下文中通过调用Context.registReceiver()此方法来对BroadcastReceiver进行注册。5.总结(1)4大组件的注册 4大基本组件都需要注册才能使用,每个Activity、service、Content Provider都需要在AndroidManifest文件中进行配置。(2)4大组件的激活 而另外三种组件活动、服务和广播接收器被一种叫做意图来进行激活。(3)4大组件的关闭 Activity关闭:通过使用finish()方法来对一个活动进行关闭。要调用此Context.stopService()方法对服务进行关闭。(4)android中的任务(activity栈)(a)任务,讲的通俗点就是活动堆栈,它由一个或多个活动来组成,对用户体验构成完整性。但前面的活动仍然会保存在堆栈之中。如果用户按下回退按钮的时候,当前的活动进行出栈,而前一个活动则为当前所运行的活动。说的简单点,堆栈中放的就是很多对象,活动堆栈永远不会重新排列,只会进行入栈和出栈。(b)任务中的所有活动都是以一个整体为单位,来进行移动。任务栈整体可以全部运行到前台,也可以在后台进行运行。(c)对于Android来说,他是一个多任务的操作系统,我们可以在玩手机的时候,一边用来听歌,一边用来浏览网页。当我们在做这些应用的时候,需要更多的系统内存来进行支撑,如果同时打开的应用太多,也或没有正确的把内存去释放掉,手机将会变得越来越慢,甚至也有可能会死机。为了不出现上述问题,Android采用了新的机制,即生命周期。2.2 XML技术2.2.1 简介 XML指的是可扩展标记语言,和HTML差不多,设计XML的作用就在于对数据来进行传输,而不去关系数据如何显示,标签一般来说,都没有被事先定义,需要自行定义标签,可以有自己的一些简单描述,是W3C的推荐标准。2.2.2 XML用途(1) XML简化数据共享:现实当中,计算机系统和数据使用相互不兼容的格式来对其进行数据的存储。以纯文本格式的对数据来进行存储。(2) XML对数据传输非常简单,可以很容易地在相互不兼容的系统之间进行交换数据。(3) 许多新的网络语言都是由XML创建的。2.2.3 XML语法对于Oracle和SQL Server数据库来说,XML与其截然不同,因为数据库提供了一个非常强大的数据存储以及对数据进行分析的能力,利用数据索引、排序、搜索、一致性等对数据进行操作,对于XML来说,他只是用来存储数据。事实上最重要的区别之处就在于:XML是极其简单的。这也许与其他相比,看起来是个优点,也就是因为这个优点,才显得XML与众不同。然而HTML主要是为了把数据显示出来,侧重点是体现在数据的外观。正由于XML可以很简单的在应用程序中对数据进行读写操作,才会使XML很快变成单一的公共数据语言,尽管在对于其他不同风格的应用程序中,都不需要支持XML格式,但他们支持其他格式,不过,很快这些应用程序也将会支持XML,这说明程序可以很容易的在Windows,Linux平台下进行一些简单的操作,这样,就很容易把XML数据加载到平台上,然后对程序来进行分析,结果都用XML格式来进行输出。SGML一般用来定义HTML文档类型,同时它也常用来书写XML。(1) 所有的XML元素都应该包含结束标签。(2) XML标签对大小写敏感。(3) XML必须正确的嵌套。(4) XML文档必须有根元素。(5) XML的属性值须加引号。(6) XML中,空格会被保留。2.2.4 XML解析(1) 利用DOM来进行解析:解析XML文档版本定义了一组接口,解析器会将整个文档进行读取,然后将其构建成树的结构,那么,就可以使用DOM接口的代码来对这个树的结构进行操作。优点:将整个需要解析的文档树全部放到内存中,这样做,很容易进行操作,支持很多不同的功能,如删除、修改、重新排列之类的。缺点:解析过程中将整个文档全部都放到内存中,因为里边有一些无用的节点,浪费了很多时间和内存空间。使用场合:一旦将文档进行解析过后,还需要很多次访问这些有用的数据;要有足够大的硬件资源支撑。(2) 利用SAX来进行解析:为解决DOM中所出现的问题,出现了SAX,在解析过程中,如果发现一些元素的开始标签或结束标签、文本内容时,那么,程序员就需要编写一些代码来对这些事件进行响应,需要这来来对数据进行保存。优点:不需要像DOM解析一样,载入整个文档,占用资源比较少;SAX解析器代码小于DOM解析器代码。缺点:如果没有能够及时对数据进行保存,那么数据就会丢失,只会得到一些想要的文本内容,但如果想要知道文本到底属于哪个元素,这显然是不可能;使用场合:只有部分XML的内容,很少回访,机器内存有特别少的内存。优点:使用20到80之间的原则,极大的减少了代码量。使用场合:实现的功能极其简单,如解析,但相对与其他,使用最多的还是DMO,SAX来对其进行解析。2.2.5 XML应用XML文档定义方式主要有文档类型定义和XML模式。DTD定义了语法,文档以及文档的总体结构,应用比较广泛并有许多工具对其进行支持。XML模式用于定义管理信息,如更强大和更为丰富的功能。XML可以更精确地去表述内容,可以跨越许许多多不同的平台,可以从其中得到一些比较有意义的搜索结果。伴随着XML技术的反展,现如今,e-学习应用系统的发展已经用到很多XML技术,许多的商用e-学习平台都将支持XML标准。就一些主要的网络设备制造商来说,如思科、华为等,厂家生产的网络设备的里边提供了对XML的支持,更好的可以促进XML的管理。. 系统分析. 可行性分析3.1.1 技术可行性设计者对熟悉Android编程和Java编程有一定的理解,并对此APP界面的绘制有一定的掌握,使用Sqlite数据库和XML解析技术,所以在技术上是可行的。3.1.2 经济可行性 本软件开发在经济上需求比较低,只需要一台开发用的电脑和模拟器就可以了。开发周期比较短,经济上需求低。3.1.3 操作可行性 用户可以对此APP软件进行简单的操作,可以设置一些自己喜欢的名字,自己喜欢的图片,利用业余时间可以进行消遣。3.1.4 法律可行性 APP软件不会伤害人们的身心健康,更不会去挑战国家的明文条令,法律上行得通。3.2 需求分析3.2.1 APP解决的主要问题 APP主要实现用户对于饮食健康的搭配和评分,能够实现用户在此APP上登陆注册,使用户不分任何时间、地点,随时可以注意到饮食健康搭配对人身体的重要性。用户可以完成一些简单的注册,登陆,饮食的搭配等功能。3.2.2 APP具备的基本功能基于Android饮食健康搭配的APP主要包括登陆注册功能,饮食搭配功能,饮食评分功能,退出功能等。使用户更容易上手,更容易操作此APP。4 概要设计4.1 设计思想本软件设计以饮食健康搭配功能为主题,整合多种方便应用的功能为辅,利用模块化的设计将各个功能整合为一个功能,方便应用。由于系统各个功能之间以低耦合的方式设计,之后的功能改变以及功能升级也可以方便的进行。也为功能的增加提供了便利,有较高的扩展性。4.2 功能实现流程 本软件主要实现的功能流程图如下。 开 始 登 陆 注 册菜 单 页 面 食 物 营 养 表进入 关 于 本 软 件 食 物 搭 配 表 浏览 各种 食物 搭配 返 回 结 束5 系统测试与运行5.1 软件测试的目的(1)测试程序以及代码在执行过程中所出现的错误。(2)为了确保产品满足性能和一些效率的要求。(3)为了确保产品是健壮的和适应用户环境的。5.2 软件测试的准则(1) 所有测试都应该回归到用户上去。(2) 在测试开始之前,应该提供一份简单的测试计划。(3)测试工作需要交给强大的软件测试机构来进行操作。(4)在设计测试用例时,应考虑各种情况。(5)为保证测试效果能够更好,应由特定的第三方从事其中的测试工作。(6)要时刻注意要回归测试的关联性。(7)要记得保存一切测试过的文档。5.3软件测试的方法 常用的软件测试的方法有黑盒测试、白盒测试、灰盒测试人工测试分为个人复查、走查与会审团;机器测试主要由黑盒测试与白盒测试来组成;黑盒测试不针对代码,只是对做出来的产品进行测试;白盒测试是针对代码进行测试;在测试中用的最多的就是灰盒测试,简单的来说就是黑河加白盒测试。5.4软件测试的过程1.启动软件,检查软件上面各个控件大小是否合适,是否出现控件这比等现象。经过测试,并没有出现控件大小不合适和空间遮蔽现象。2.检查用户对各个空间的操作是否做出了正确的反应,经过测试软件对用户的各个操作都作出正确的反应。3.在登陆注册的同时,对于用户的错误输入是否正确会给出提示。4.对用户的各种需要耗时时间长的操作,用户点击是否能够及时反应。及测试,对于耗时较长的操作都可以及时反应。 结 束 语通过几个月的学习和研究,不仅了解了软件的开发流程,还慢慢培养了自己的自学能力,开发中遇到很多以前没接触的问题,通过网络和书籍都慢慢解决了,这个过程对自己以后的工作中有很大的帮助。在这次非常珍贵的的毕业设计当中,最大的收获就是在开发一个项目过程中,所学到的经验了,同时还增强了自己对于未知问题的理解,以及对知识进一步深化认识的能力,感觉这次机会真的是来之不易,我觉得再合适不过了。但仅仅如果是完成了作品还真心不足以让我得到满足,从一开始我就有着将作品制作得更加完美更加与众不同,正因为这样对自己严加要求,我对这门学科的认知度才会逐渐加深,我想自己一定可以将这个技能外媒的掌握,随着时间的不断流逝,这个目标终将被实现。我们每个人都应该回到自己的初衷,刚上大学那会,选择了所谓的计算机,就想那会开发一款属于自己的应用软件,想着自己所写的应用软件,用户都在使用者,这的确是一种幸福,这是一种成就感,锻炼我们的机会,真的很少很少,有机会,就一定要好好抓取,特别在公司中,默默地拿出点诚意,好好去工作,在公司,可能会接触到一些新的知识,需要我们去好好探讨,要多去看一看周围人如何再做事情,我学会模仿,学会做事,很感谢大学的老师们,给予自己想要的保护,我们都已经长大,已经有自己的想法,努力抓取上天给的机会,一步一步的往前走,这次毕业设计,我很受益,希望以后,大家的生活能够越来越好,都能找到属于自己的成就感。每个人都有自己想要的生活,就拿我大学来说,我拿着自己挣的血汗钱,去旅游,去长见识,自己刚入社会,的确啥也不会,花钱长点见识,每个人的成长,应该都需要一个过程,只有我们找到自己想要的东西,慢慢来,时间会证明一切,这次课设,让我明白了很多很多道理,在生活中,尽量让自己过得更好,这才是目的,非常感谢在这段路上,有好多哥们的陪伴,也有好多榜样需要我去学习,希望自己能闯到自己想要的东西,很感激这次课设。 总之,我觉得这次我已经做到位了。致 谢 本人不仅得益于指导老师深厚的理论基础和渊博的知识。更重要的是从指导老师身上学到严谨的作风、求实的科学态度。在毕业设计期间及撰写论文期间,老师对我不厌其烦、循循善诱;在编码过程中,严格把关,仔细检查每一个设计步骤。经过此次毕业设计的学习与开发,我明白了很多道理,学习不单单是作为一个不断积累的过程,更是一个和自己较劲赛跑的过程,一周不练习代码,就会感到不再状态,更别说荒废一个月以及更长的时间了,所以在以后的工作

网址:毕业论文 https://www.yuejiaxmz.com/news/view/223388

相关内容

毕业设计(论文)
园林专业毕业论文范文专业交流论坛
毕业论文最新资讯
日程管理系统 毕业论文
毕业论文指导老师评语
园艺专业毕业论文(最新范文8篇)
汽车美容毕业论文.doc
家庭财务管理系统毕业论文.doc
自动启闭光控窗帘毕业论文设计
园艺技术论文(毕业范文8篇),园艺学论文

随便看看