本来第三篇应该是写到一线具体功能的实现的,但是有朋友问到了一些很基础的知识,才意识到我有很多东西没有讲清楚,因为这个软件看起来很简单,但是对学生朋友来说却是整合了很多资源,用到了很多不同的技术的,所以我再写一篇简单的介绍一下。本篇中的大部分内容,都来自我的毕业论文,介绍得很粗显,希望详细学习和了解的同学请自行查阅资料吧。

本设计包括三部分:移动端软件、云服务平台和热敏打印机模块。其中移动端软件基于Android系统开发,包括菜品录入、点餐和数据统计等多个部分。先由餐饮店铺管理者将本店菜品录入到手机软件中,录入的信息包括菜品名称、价格、规格、食材和示例图片等。录入信息将同步储存到移动终端和云平台上,并生成点餐界面。生成点餐界面即可进行正常点餐操作。点餐过程中由前台收银员手持移动终端,按照顾客要求选择菜品,点餐完成后生成菜单,结算总价并由顾客付款。付款后点餐信息发送热敏打印机。店铺可根据自身格局,选择将打印机放在收银台或后厨。打印机放在收银台可将小票直接交给顾客,由顾客凭小票到取餐处取餐。打印机放在后厨可让顾客到座位上等待,后厨按照小票将菜品准备好好端给客户。数据统计部分会对当天所受菜品做出统计,包括计算总营业额和售出菜品的分布等,便于管理者记账以及对次日的售出量进行预估,以便估算各种食材的进货量。

具体流程框图如下:


 Android Studio

本设计中的Android端软件的设计开发,主要使用的开发工具是Android Studio。Android Studio是Google于2013 I/O大会针对Android开发推出的基于IntelliJ IDEA开发的开发工具。Android Studio 提供了集成的 Android 开发工具用于开发和调试。

2015年5月29日,在谷歌I/O开发者大会上,谷歌发布AndroidStudio1.3版,支持C++编辑和查错功能。AndroidStudio 1.3版开发码代码变得更加容易,速度提升,而且支持C++编辑和查错功能。

在2016年的Google开发者大会上,Google发布了Android Studio的2.0版本。Android Studio 2.0带来多项新特性和改进,包括“即时运行(InstantRun)”、集成一个测试真实设备的谷歌服务、更快的模拟器、更快的构建速度、GPU优化器和调试器、支持深度链接等。现在ANdroid studio已经以极快的频率更新到2.几了,我虽然没有在做应用开发,但是做一些客户维护案的时候经常还要用到,觉得超级好用,是一件趁手的兵器,即使不是做android开发的时候,也喜欢用它来看代码。

AndroidStudio 1.3.2的开发界面(1)

AndroidStudio1.3.2的开发界面(2)

作为Google专门为Android开发设计的编译器,Android Studio不管是在速度上和体验上,都比以往Android开发者使用的eclipse有了质的提升。其相教于eclipse的优势有以下几点:

(1)从界面来说,Android Studio的界面更具有极客气息,且界面风格的更换更加方便快捷;

(2)强大的智能提示补全功能,大大地提高了开发者的开发效率,符合当今移动开发“敏捷开发,快速迭代”的开发理念;

(3)智能保存,不需要Ctrl + S;

(4)整合Gradle构建工具,Gradle集合了Ant和Maven的优点,不管是配置、编译、打包都非常强大;

(5)UI编辑器自带了多设备的实时预览,多语言适配;

(6)内置终端直接替代cmd命令行;

(7)完善的插件系统,如Git、Markdown、Gradle等,直接下载即可使用;

(8)版本控制系统,安装的时候就自带GitHub、 Git、 SVN等流行的版本控制系统,可以直接check out项目,可边写代码边与其他版本进行对比修改。

蓝牙

本设计中Android端软件与热敏打印机之间使用的是蓝牙传输的传输方式。蓝牙是一种无线技术标准,可实现两个不同蓝牙设备之间的短距离数据交换。蓝牙基于设备低成本的收发器芯片,传输距离近、低功耗。蓝牙使用的是2.402GGHz到2.480GHz(包括防护频带)的ISM波段的UHF无线电波,使用跳频技术,将传输的数据信分割成多个数据包,通过79个指定的蓝牙频道分别传输不同的数据包,每个频道的频宽为1MHz。

多数蓝牙应用是为室内环境的信息传输而设计的,由于墙体的衰减和信号反射造成的信号衰落会使得射程远小于蓝牙产品规定的射程范围。两个敏感度和发射功率都较高的1类设备相连接,射程可远高于一般水平的100m,这取决于应用所需要的吞吐量。有些设备在开放的环境中的射程能够高达1km甚至更高。每个蓝牙设备都有一个唯一的48位的地址。然而这些地址并不会显示于连接请求中。但是用户可自行为他的蓝牙设备命名,这一名称即可显示在其他设备的扫描结果和配对设备列表中。

由于蓝牙在连接时步骤比较烦杂,现在已经逐渐被其他传输方式所替代,比如wifi。现在的手机的无线模组一般包括wifi模块和蓝牙模块。在本设计的早期,笔者本来也打算使用wifi进行Android端应用与热敏打印机之间的数据传输。但是考虑到本设计的具体应用场景,使用者(即小型餐饮店铺的经营者)可能需要使用手机的wifi模块进行其他网络操作,wifi模块会比较繁忙,蓝牙模块则处以一个相对闲置的状态,且在本设计的可能应用场景中,蓝牙的传输方式的特点(如频段和传输距离等)能得到很好的发挥,而其连接方式繁杂这一缺点也并会有特别明显的体现。所以在早期开发版本中,笔者率先选用的是蓝牙的传输方式。在后续的开发中,笔者将继续丰富其它的传输方式。

热敏打印机

本设计中票据的打印选用的是热敏型打印机。热敏打印机的原理是在淡色材料上(通常是纸)覆上一层透明膜,将膜加热一段时间后变成深色(一般是黑色,也有蓝色)。图象是通过加热,在膜中产生化学反应而生成的。这种化学反应是在一定的温度下进行的,高温会加速这种化学反应。当温度低于60℃时,膜需要经过相当长,甚至长达几年的时间才能变成深色;而当温度为200℃时,这种反映会在几微秒内完成。热敏打印机有选择地在热敏纸的确定位置上加热,由此就产生了相应的图形。加热是由与热敏材料相接触的打印头上的一个小电子加热器提供的。加热器排成方点或条的形式由打印机进行逻辑控制,当被驱动时,就在热敏纸上产生一个与加热元素相应的图形。控制加热元素的同一逻辑电路,同时也控制着进纸,因而能在整个标签或纸张上印出图形。

最普遍的热敏打印机使用一种带加热点阵的固定打印头,打印头设有320个方点,每一点为0.25mm×0.25mm。利用这种点阵,打印机可把打印点在热敏纸的任意位置上。热敏纸是一种加工纸,其制造原理就是在优质的原纸上涂布一层“热敏涂料”(热敏变色层)。变色层使用的是一种负责的无色染料,该染料的品种甚广,最常用的是荧光化合物;显色剂约占20%以下,常用的有双酚、对羟基苯甲酸;增感剂约占10%以下,其中含有苯磺酸酰胺类化合物;填料约占50%以下,常用的有碳酸钙(微粒);胶黏剂约占10%以下,如聚乙酸乙烯;稳定剂,如对酞酸二苯酰;润滑剂等。因此工艺难度大,技术要求高。

在本次设计中笔者选用的是佳博PT-260型的热敏打印机。其分辨率为384点/行,打印纸宽为58mm,打印纸厚度为0.06-0.08mm,打印速度为60mm/sec(max),接口类型是USB和蓝牙,可靠性为50公里,打印机尺寸为148.5(D)*86(W)*58.5(H)mm,选用1900MA/7.4V可充电锂电池,AC100-240V宽范围输入,支持边充电边打印,支持自动休眠。

热敏打印纸

佳博 PT-260型热敏打印机

佳博 PT-260型热敏打印机技术参数

产品名称

佳博 PT-260型热敏打印机

打印方式

热敏式

打印纸宽

58mm

打印纸厚

0.06-0.08mm

打印速度

60mm/sec(max)

接口类型

USB+蓝牙

可靠性

50公里

打印机尺寸

148.5(D)*86(W)*58.5(H)mm

移动云服务平台

在云服务方面,笔者选择的是Bmod云服务平台。Bmob是国内个人开发者用得比较广泛的一个移动云服务平台,提供了一套比较快速简洁的移动云服务解决方案,服务器端的数据操作十分简便,几乎为全可视化数据操作。开发者只要在平台上注册后创建一个应用,将该应用唯一指定的Application ID写入到应用源码中,然后在应用中导入BmobSDK,即可在应用中进行网络数据库操作。除了基本的数据库的增删改查,Bomb还在此基础上进行了拓展,提供的服务基本可以满足个人开发者移动应用开发的全部需要,包括:

(1)用户管理

提供专门的用户管理类BmobUser用于用户管理。注册登录方式包括新申请账户登录、邮箱登录、手机号码登录和第三方账户登录,其中第三方账户登录目前支持新浪微博账户、QQ账户和微信账户。

(2)文件管理

提供专门的BmobFile类将文件存储到服务器中,可存储的文件类型包括图像文件、影像文件、音乐文件和二进制数据文件等。提供文件的上传、下载、删除、批量上传及批量下载等功能。

(3)数据实时同步

实时数据同步即对数据库表或行进行实时监听,当数据有所改变时通知SDK。此功能多用于实时聊天工具、游戏等实时信息要求较高的应用软件的开发。使用数据实时功能,首先需要创建BmobRealTimeData对象,然后调用start方法连接服务器。start方法中的ValueEventListener参数用于监听连接成功和数据变化的回调。当有数据变化时会通过onDataChange回调方法反馈到客户端。开发者只需要处理得到的data就可以了。

(4)地理位置服务

(5)云端逻辑服务

(6)短信服务

(7)消息推送服务

Bmod云服务平台网址:

http://www.bmob.cn/

基于Android移动终端的微型餐饮管理系统的设计与实现3-技术整合相关推荐

  1. 基于Android移动终端的微型餐饮管理系统的设计与实现2-侧滑菜单

    上周发了< 基于Android移动终端的微型餐饮管理系统的设计与实现>第一章,虽然是个简介,但是居然上了首页推荐,还有朋友评论了.写了这么久CSDN,还是第一次有人评论我的文章,真是受宠若 ...

  2. 基于Android移动终端的微型餐饮管理系统的设计与实现1-简介

    这个是我做的毕业设计,又到了做毕业设计的季节了,贴出来给有需要的学弟妹做参考. 名字起得挺长的,其实就是一个low low的Android应用,连界面都没有美化,凑合凑合就交上去了,居然还评上了优秀毕 ...

  3. 基于Android移动终端的微型餐饮管理系统的设计与实现4——Android基础

    本章将介绍一些在开发中用到的一些常用且值得介绍的Android 基础知识和技术,包括Fragment.Slidingmenu.RecyelerView.HelloCharts框架和Ormlite框架. ...

  4. android学生个人事物管理系统,基于Android平台的学生个人事务管理系统的设计与实现(整理版).doc...

    DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF;DS 摘 要 Android智能手机越来越普及 ...

  5. android移动停车车位管理系统的分析与设计,基于Android与WiFi的智能停车管理系统的设计与实现...

    摘要: 伴随着我国人民平均收入的不断提高,汽车已经成为人们出行的主流交通工具,城区商业金融和医疗服务中心的"停车难"成为阻碍城市交通发展的一大难题.传统的停车引导方式缺乏高效的停车 ...

  6. android圆形巡检动画,基于Android平台的工程项目现场巡检管理系统

    摘要: 工程项目是企业效益的主要来源也是企业建立信誉的一个主要窗口和展示平台,施工项目的现场管理是工程管理的一个重要环节,关系到工程的质量,安全等问题,涉及到企业管理的各层次和施工现场的每一操作工人, ...

  7. 安卓设备门禁识别开发_基于Android和RFID的门禁管理系统

    基于 Android 和 RFID 的门禁管理系统 秦斌斌 ; 何极 ; 赵萌 ; 秦丽丽 [期刊名称] <无线通信技术> [年 ( 卷 ), 期] 2018(027)004 [摘要] 本 ...

  8. android收入管理系统,毕业设计(论文)-基于Android系统的家庭理财通软件的设计——收入管理模块.docx...

    PAGE 河北农业大学信息学院 本科毕业论文 题 目:基于Android系统的家庭理财通软件的 设计--收入管理模块 学 院: 信息科学与技术学院 专业班级: 计算机科学与技术0902班 学 号: 二 ...

  9. [任务书+论文+PPT+源码]基于Android与多媒体的英文学习APP的设计与实现

    第1页 毕业设计(论文)题目:基于ANDROID与多媒体技术的英文学习APP的设计与实现设计(论文)要求及原始数据(资料):1.综述国内外移动互联现状及前景:2.了解ANDROID系统,理解ANDRO ...

最新文章

  1. 初学者学用Github
  2. UnpooledHeadByteBuf源码分析
  3. hdu 2196 树形dp
  4. Unity3D For Android 开发教程【转http://game.ceeger.com/Unity/Doc/2011/Unity3D_For_Android.html】...
  5. Python编程基础06:认识程序控制结构
  6. leaks Android内存泄露,Android LeakCanary 检测内存泄露
  7. 拓端tecdat|R语言解释生存分析中危险率和风险率的变化
  8. Springboot 默认加载文件(可直接访问、不可直接访问)是出现的问题
  9. DOS窗口的一些简单介绍
  10. 计算机怎么接多元一次方程,Excel求解多元一次、一元二次方程组就是这么简单!...
  11. 博世中国的战略与战术,如何应对复杂多变的中国市场需求
  12. 微信分享代码申请key教程
  13. python中max函数的用法解析
  14. 10计算机管理员权限获得,Win10永久获取管理员权限的方法
  15. Java实现O(nlogn)最长上升子序列
  16. 《游戏设计快乐之道(第2版)》一第2章 大脑如何运作
  17. 数据库与MPP数仓(十九):高效SQL
  18. RAM,ROM,固态(SSD),硬盘它们间有何关系?
  19. 离线方式部署Ambari2.6.0.0
  20. java web怎么实现跳转,成都汇智动力-JAVAweb路径跳转实现教程

热门文章

  1. 数据库连接报错之IO异常(The Network Adapter could not establish the connection)
  2. 解决CPC撰写文档报错问题“无法获取“AxforApplication”控件的窗口句柄。不支持无窗口的 ActiveX 控件”
  3. Win10 + VS2017 15.5.6 环境下解决 Python 3.6 环境无法刷新DB的问题
  4. node.js require()缓存-可能无效?
  5. 如何遍历JavaScript对象?
  6. 如何使用AngularJS绑定到复选框值列表?
  7. ES6 对象的新功能与解构赋值介绍
  8. 神经网络相关名词解释
  9. 谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
  10. WPS 导致 EXCEL 文件下载问题