基于android无线点菜系统设计论文内容摘要:

ISM 频段,其数据速率为 1MbPs,采用时分双工传输方案实现全双工传输。 蓝牙技术的突出优势是抗干扰性强,不易被窃听。 由于蓝牙技术专门针对于短距离应用,因此蓝牙的协议保证了近距离之内的数据稳定发送,不会被其他频段的信号干扰。 蓝牙的劣势 :距离短,传输速度慢。 蓝牙技术有效传输距离为 10 厘米到 10米,增加发射功率可达到 100 米,即便如此也无法与 WiFi 的铺网能力比肩。 蓝牙网络连接使用加密技术,同时采用口令验证连接设备,可同时与其他 7个以内的设备 构成微型网络,1个蓝牙设备可以同时加入 8个不同的微型网络,每个网络具有 1Mb/S 的传输频宽,当两个以上的设备共享一个信道时,就可以构成一个蓝牙微型网络,并由其中的一个装置主导传输量,当设备尚未加入网络时,它先进入待机状态。 蓝牙根据网络的概念提供点对点和点对多点的无线连接,在任意一个有效通讯范围内,所有的设备都是平等的,并且遵循相同的工作方式。 基于 TDMA 原理和蓝牙设备的平等性,任一蓝牙设备在主从网络 (Pico)和分散网络(Scatter)中,既可作主设备 (Master),又可作从设 (Slaver),还可同时既是主设备( Master),又是从设备 (Slaver)。 因此在蓝牙系统中没有从站的概念,另外所有的设备都是可移动的,组网十分方便。 蓝牙技术系统一般由天线单元、链路控制(固件)单元、链路管理(软件)单元和蓝牙软件(协议栈)单元四个功能单元组成如图 8所示。 图 6 蓝牙系统的组成 作为一个新兴事物,蓝牙技术的应用还存在许多问题和不足之处,如成本过高、有效距离短及速度和安全性能也不令人满意。 WIFI 技术 WiFi 是一种可以将个人电脑、手持设备(如 PDA、手机)等终端以无线方式 互相连接的技术。 随着技术的发展,以及 及 IEEE 等标准的出现,现在 这个标准已被统称作 WiFi。 它为用户提供了无线的宽带互联网访问。 同时,它也是在家里、办公室或在旅途中上网的快速、便捷的途径。 WiFi 无线网络是由 AP(Access Point)和无线网卡组成的无线网络。 在开放性区域,通讯距离可达 305 米;在封闭性区域,通讯距离为 76 米到 122 米,方便与现有的线以太网络整合,组网的成本更低。 WiFi 以其自身诸多优点,受到人们推崇。 WiFi 技术 突出的优势在于较广的局域网覆盖范围 , WiFi 的覆盖半径可达100 米左右 , 相比于蓝牙技术覆盖范围较广 ; 传输速度快 : WiFi 技术传输速度非常快 , 适合高速数据传输的业务 ; 无须布线 : WiFi 最主要的优势在于不需要布线 , 因此非常适合移动办公用户的需要。 健康安全 : 规定的发射功率不可超过 100 毫瓦 , 实际发射功率约 60~ 70 毫瓦 , 而手机的发射功率约 200毫瓦~ 1 瓦间 , 手持式对讲机高达 5瓦。 与后者相比 , WiFi 产品的辐射更小。 图 7 几种常见无线技术的频率 表 1 几种常见无线技术的比较 通过分析表 1 和图 7,对常见的几种无线技术进行比较,可以发现 ZigBee在覆盖距离,组网难易程度,低功耗,低成本上都有很大的优势,但是由于其技术刚刚起步,各种协议还不够成熟,这就是为什么市面上的移动设备几乎没有支持 ZigBee 技术的。 而且通过一段时间的测试,验证了 ZigBee 网络不稳定这一事实,因此本设计最终选用什么技术因环境而定。 语言 及 Android 平台 介绍 Android 开发所用的语言是 Java 语言,所以再详细介绍设计之前有必要首先介绍一下 Java 语言。 Java 语言概述 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems公司于 1995年 5月推出的 Java程序设计语言和 Java平台 (即 JavaSE, JavaEE, JavaME)的总称。 Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人 PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球 最大的开发者专业社群。 在全球云计算和移动互联网的产业环境下, Java 更具备了显著优势和广阔前景。 编程语言的风格十分接近 C、 C++语言。 Java 是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心, Java 舍弃了 C++语言中容易引起错 误的指针(以引用取代)、运算符重载( operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。 在 Java SE 版本中, Java 又引入了泛型编程( Generic Programming)、类型安全的 枚举 、不定长参数和自动装 /拆箱等语言特性。 Java 语言基本语法 Java 作为一种独立的编程语言, 包括一些基本的语法概念: final 类:为防止他人从你的类上派生新类,此类是不可扩展的。 动态调用比静态调用花费的时间要长。 多态 类:在 java 中,对象变量是多态的。 而 java 中不支持多重继承。 抽象类:规定一个或多个抽象方法的类本身必须定义为 abstract。 例: public abstract string getDescripition Java 中的每一个类都是从 Object 类扩展而来的。 object 类中的 equal 和 toString 方法。 equal 用于测试一个对象是否同另一个对象相等。 toString 返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示。 ( toString 方法是一个很重要的方法) 通用编程:任何类类型的所有值都可以同 object 类型的变量来代替。 封装:就是把数据和行为结合起在一个包中) 并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段( instance field)。 重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载。 编译器必须挑选出调用哪个方法。 数组 列表: ArrayList 动态数组 列表, 是一个类库,定义在 包中,可自动调节数组的大小。 class 类 object 类中的 getclass 方法返回 class 类型的一个实例,程序启动时包含在 main 方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。 Java 与 C/C++的差异 熟悉 C 语言和 C++语言的读者一定想搞清楚这个问题,实际上, Java确实是从 C 语言和 C++语言继承了许多成份,甚至可以将 Java 看成是 类 C语言 发展和衍生的产物。 比如 Java 语言的变量声明,操作符 形式 ,参数传递, 流程控制 等方面和 C 语言, C++语言完全相同 .尽管如此, Java 和 C 语言, C++语言又有许多差别,主要表现在如下几个方 面: 1) Java 中对 内存 的分配是动态的,它采用面向对象的机制,采用 运算符 new 为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变。 程序运行中 Java 系统自动对内存进行扫描,对长期不用的空间作为 ”垃圾 ”进行收集,使得 系统资源 得到更充分地利用 .按照这种机制,程序员不必关注内存管理问题,这使 Java 程序的编写变得简单明了,并且避免了由于内存管理方面的差错而导致系统出问题。 而 C 语言通过 malloc()和 free()这两个 库函数 来分别实现分配内存和释放内存空间的, C++语言中则通过运 算符 new 和 delete 来分配和释放内存。 在 C 和 C++这种机制中,程序员必须非常仔细地处理内存的使用问题。 一方面,如果对己释放的内存再作释放或者对未曾分配的内存作释放,都会造成死机;而另一方面,如果对长期不用的或不再使用的内存不释放,则会浪费系统资源,甚至因此造成资源枯竭。 2) Java 不在所有类之外定义 全局变量 ,而是在某个类中定义一种公用静态的变量来完成全局变量的功能。 3) Java 不用 goto 语句 ,而是用 trycatchfinally异常处理语句来代替 goto语句处理出错的功能。 4) Java 不支持 头文件 ,而 C 和 C++语言中都用头文件来定义类的原型,全局变量,库函数等,这种采用头文件的结 构使得系统的运行维护相当繁杂。 5) Java 不支持宏定义,而是使用关键字 final 来定义 常量 ,在 C++中则采用宏定义来实现常量定义,这不利于程序的可读性。 6) Java 对每种数据类型都分配固定长度。 比如,在 Java 中, int 类型总是 32 位的,而在 C 和 C++中,对于不同的平台,同一个数据类型分配不同的字节数,同样是 int 类型,在 PC 机中为二字节即 16 位,而在 VAX11 中,则为 32 位 .这使得 C 语言造成不可移植性,而 Java 则具有跨平台性(平台无关性)。 7) 类型转换不同。 在 C 和 C++中,可通过指针进行任意的类型转换,常常带来不安全性,而在 Java 中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。 8) 结构和联合的处理。 在 C 和 C++中,结构和联合的所有成员均为公有,这就带来了安全性问题,而在 Java 中根本就不包含结构和联合,所有的内容都封装在类里面。 9) Java 不再使用指针。 指针是 C 和 C++中最灵活,也最容易产生错误的数据类 型 .由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个 C++中的私有成员,从而破坏安全性。 而 Java 对指针进行完全地控制,程序员不能直接进行任何指针操作。 10) 避免平台依赖。 Java 语言编写的类库可以在其它平台的 Java 应用程序中使用,而不像 C++语言必须依赖于 Windows 平台。 安卓历史及介绍 Android 一词最早出现于法国作家利尔亚当( Auguste Villiers de l39。 IsleAdam)在 1886 年发表的科幻小说《未来夏 娃》中。 他将外表像人的机器起名为 Android。 安卓最早由高科技 Andy Rubin 公司研发, Andy Rubin 创立了两个手机操作系统公司: Danger 和 Android。 Danger 5 亿美元卖给微软,今年成为了 Kin,Android4 千万美元卖给 Google。 Android 一词的本义指 “机器人 ”,同时也是 Google 于 2020 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。 安卓发展及现状 2020 年 9 月 22 日,美国运营商德国 TMobile 在纽约正式发布第一款Android 手机 ——TMobile G1。 该款手机为台湾宏达电 (HTC)代工制造,是世界上第一部使用 Android 操作系统的手机,支持 WCDMA/HSPA 网络,理论下载速率 ,并支持 WiFi。 2020 年 10 月 28 日正式发布 了 Android 智能手机操作系统。 2020 年 1 月 7 日, Google 在其美国总部正式向外界发布了旗下首款合作品牌手机 Nexus One(HTC G5),并同时开始对外发售。 2020 年 5 月 20日, Android “冻酸奶 ”(Froyo)的 SDK 发布。 市场份额增至 %2020 年 12月6日, Android “姜饼 ”(Gingerbread)的 SDK 发布。 2020 年 2月 22 日, Android “蜂巢 ”(Honeyb)的 SDK 发布。 2020 年 5 月,谷歌宣布将推出 “冰激凌三明治 ”,此时 Android 的市场份额已达 %。 2020 年 7 月, Android 的 SDK 发布。 2020 年 8 月 15 日,谷歌 125 亿美元收购摩托罗拉移动,将 Android 系统又推向新的高潮。 安卓版本介绍及支持 Android 在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是: 阿童木 ( Android Beta),发条机器人( Android )。 后来由于涉及到版权问题, 谷歌 将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。 甜点命名法开始于 Android 发布的时候。 作为每个版本代表的甜点的尺寸越变越大,然后按照 26 个字母数序: 纸杯蛋糕 ( Android ), 甜甜圈 ( Android ),松饼 ( Android ), 冻酸奶 ( And。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。