Android手机软件控制系统毕业设计.doc
《Android手机软件控制系统毕业设计.doc》由会员分享,可在线阅读,更多相关《Android手机软件控制系统毕业设计.doc(44页珍藏版)》请在三一办公上搜索。
1、 1. 前言12. Android相关技术介绍22.1Android简介22.1.1Android是什么22.1.2Android的发展历史22.2Android架构分析32.2.1 最底层-Linux Kernel层32.2.2 AndroidRuntime32.2.3Libraries42.2.4 ApplicationFramework应用框架42.2.5 Applications52.3Android应用的构成和工作机制53. Android开发环境的搭建63.1JDK的安装和JAVA环境变量的设置63.1.1 JDK下载地址63.1.2配置JAVA_HOME环境变量63.1.3配置P
2、ATH环境变量63.1.4配置CLASSPATH环境变量73.1.5验证JDK是否安装成功83.2安装Eclipse83.2.1 Eclipse下载地址83.3安装Android SDK93.3.1Android SDK下载地址93.3.2配置环境变量93.3.3导入SDK94. 应用程序结构分析104.1Android的API介绍104.1.1AndroidManifest.XML104.1.2活动104.1.3视图104.1.4意图104.1.5服务104.1.6通知114.1.7内容提供者114.2Android活动的生命周期114.2.1生命周期简介114.2.2 活动的生命状态114
3、.2.3活动的运作流程125. 应用程序设计145.1设计目标145.2需求分析145.3详细设计145.3.1角色和责任145.3.2 BLE权限145.3.3检查BLE是否支持在设备上155.3.4设置BLE155.3.5发现BLE设备155.3.6连接到GATT服务端175.3.7读取BLE变量215.3.8接受GATT通知235.3.9关闭客户端APP236. CC2541与手机通信247.总结与体会298.谢辞309. 参考文献3110.附件1相关设计软件32附件2外文资料翻译33 1. 前言近年,物联网技术得到了飞速的发展,而物联网里一个非常重要的角色就是已然发展成熟的BLE技术,
4、我们只需使用TI的软件和硬件资源,便可以轻松的搭建自己无限网络,通过这个网络,我们便可以实现和支持BLE的设备进行通讯,从而进行短距离通信。API版本为18的Android 4.3 为低功耗蓝牙的主要功能提供平台支持BLE功能的实现和API调用,Android上的软件可以用它来发现设备、查询服务和执行读写操作。BLE更显著的特点就是功耗特别的低,和传统的蓝牙比较起来,BLE的功耗要低50倍,甚至更多。由于BLE具有这样的优点,安卓APP就可以用它来与BLE设备进行交流,比如照明系统、传感器、以及心胀速率检测器。传统蓝牙蓝牙的传输速率不仅慢,而且传输距离只有短短的210米,Wife虽然传输速率相
5、较传统蓝牙快了不少,传输距离也增强了,能达到50米左右,但许多场合下依然不能满足我们的需要。和传统蓝牙和WIFE比较之后我们发现,BLE有一个相当大的优势。新的4.0版本的蓝牙集合了蓝牙技术在三方面(即传统的蓝牙,高速蓝牙,蓝牙低功耗)的优点。它集成了蓝牙技术在无线连接方面的固有优势,并且加入了低速蓝牙,高速蓝牙的特性,不仅可以结合使用这三种规格,也可以单独使用。低功耗蓝牙-蓝牙4.0规范的核心,这一技术的最重要的特征是超低操作功耗和待机功耗,这样蓝低功耗牙设备可以大幅度节能,使用一个按钮电池可连续工作好几年了,对应用的成本和电力需求严格的无线方案都能很好的满足了,并遵循智能机器的发展将有一个
6、更广泛的领域。如今,支持BLE的智能设备主要是iPhone(IOS系统)和Android,从4.3系统开始,Android将提供官方的API接口,在不久的将来,BLE将会出现在生活中的各个领域。总的来说,低功耗蓝牙技术具有以下优点:(1)高可靠性:无线通信,由于电磁波在传输过程中容易受到许多因素的干扰,例如,障碍物,天气条件,等。因此,无线数据传输通信系统具有固有的不可靠性。因此在制定蓝牙4.0的规范时我们就已经在考略怎样解决数据在传输的过程中存在的内在不确定性这样的缺陷,我们在协议中一些可靠性措施,比如:数据解码,差错矫正和检测,数据加噪等方法,采用这些方法可以极大的增强数据的可靠性。(2)
7、低成本、低功耗:蓝牙4.0版本强化了蓝牙在数据传输上的低功耗性能,功耗较传统蓝牙降低了90%。(3)立即链接,高效启动:旧版蓝牙启动速度非常缓慢,链接上需要6 s的时间,而Android上的蓝牙只需要3秒即可完成链接,几乎立即连接(4)传输距离大大加大:传统蓝牙传输距离通常是5米左右,但是安卓4.3上的蓝牙的有效传输距离可以达到100米,传输距离增加10倍,大大扩大了蓝牙技术的应用前景。(5)高安全性:为保证数据传输的安全使用AES - 128 CCM加密算法加密数据包认证。2. Android相关技术介绍2.1Android简介2.1.1Android是什么安卓是一个完整的手机操作系统,包含
8、Linux操作系统、中间元件以及一些常用的应用程序。Android还提供了一个SDK,这个SDK包含了必要的工具和API。Android和IOS系统一样,都是应用在移动端,比如手机和iPad上的操作系统,二者的主要区别在于Android是开放源代码的操作系统。2.1.2Android的发展历史安迪鲁宾(Andy Rubin)最早开发Android操作系统,谷歌公司非常看好Android系统以后的发现趋势,所以在2005年8月收购完成了收购。2007年11月,谷歌和硬件制造商、软件开发商和电信运营商形成了开放手机联盟,联合研究和改进安卓系统。后来谷歌以授权的方式发放开源许可证,并发布Androi
9、d的源代码。第一个Android智能手机在2008年10月发布。2011年第四季度Android手机市场份额是52%,2011年Android智能手机出货量将超过4.5部。2008年,谷歌/ O会议上,谷歌发布安卓架构图,同年8月18号,Android通过了美国联邦通信委员会(FCC)的批准。谷歌在08年9月份发布的Android 1.0系统是最早的版本的Android系统。2009年4月,谷歌正式推出了Android 1.5电话,从Android 1.5版本的谷歌Android版本始于甜点,Android 1.5以蛋糕(蛋糕)命名。该系统功能与安卓1.0的系统相比已大大提高。 2009年9月
10、,谷歌推出了了Android 1.6的官方版本,和携带Android 1.6正式版的手机HTC Hero(G3),由于出色的设计和新Android 1.6操作系统,HTC Hero(G3)成为了世界上最受欢迎的移动电话。Android 1.6还有一个有趣的甜点的名字,叫做甜甜圈(甜甜圈)。 2010年2月,Android正式和Linux主流开发断绝关系,主要原因是Android将Linux内核里面的状态树给移除掉了,并且,在当年的五月份,Google公司发布了Android2.0操作系统,并且将他改名为Froyo。 2010年10月份,在谷歌公司的历史上是非常辉煌的一年,应为在这一年,安卓应用
11、的数量草果了10万个,Android操作系统正在以高度发展的姿态为世人所熟知。同样是在这一年,Android 2.3版本的操作系统被谷歌公司发布了,在第二年,谷歌公司宣布,在今年1月,ANdroid设备每天的激活量大约在30万部左右,到7月,这个数子再次被刷新了,达到了令人惊叹的每天55万部。安卓以全球用户总量超1.35亿,成为了占有量最高的操作系统。 2011年8月2日,谷歌公司已经在全球市场占有绝对的手机系统霸主地位,就连以前一直统治手机领域的塞班操作系统也只能望其项背,最终免不了被终结的命运,在这一年,市场上48%的手机的操作系统使用的安卓操作系统,在这一年的9月份,Android 4.
12、0问世了,一直到今天,这个系统也同样有许多人在使用。 2.2Android架构分析 图2.2.1 从图2.2.1我们可以看出,Android架构主要分为5个部分。即Applications、ApplicationFramework、Linux Kernel、AndroidRunTime2.2.1 最底层-Linux Kernel层 Linnux2.6为安卓系统提供最重要的系统服务,包括安内核全、内存管理、进程管理、网络堆栈、驱动模型等。Linux隐藏着具体的硬件细节而为上层应用和代码提供符务,去掉底层及以下层的差异,这样即使下面的框架发生了变化,也不会对我们开发应用残生很大的影响,其实Linu
13、x内核层就是一个抽象层,链接着硬件和软件,它在中间起着桥梁的作用。为了各经所能,我们将框架分为一层一层的,各层提供各层单独的服务,这样做的目的是为了让我们写出来的代码做到高内聚,低耦合。其实就是,做开发就专心做开发,不用关心底层到底是怎样实现的。2.2.2 AndroidRuntime Android包括一套核心库,它们提供了Java编程语言中的大多数库函数的核心。在她自己的进程中运行每一个Android的应用时,过程也属于一个Dalvik虚拟机实例。 使用Dalvik的目的是使设备有效地运行多个虚拟机。被执行的Dalvik虚拟机的可执行文件格式为.DEX格式,该格式被进行了优化,为最小的内存
14、使用情况。虚拟机是基于寄存器,编译和运行Java编程语言类,这些类被转换为内置的DX工具。依靠Linux内核提供Dalvik虚拟机在函数的底部,如线程和低级别的存储器管理。 Android包括一套核心库提供大部分在Java编程语言用到的核心类库。在Dalvik虚拟机的每一个Android应用的程序实例,在自己的进程中运行。 Dalvik虚拟机设计的一个设备可以高效地运行多个虚拟机。 Dalvik虚拟机可执行文件格式。地塞米松,地塞米松格式是压缩格式,设计用于的Dalvik是适合于系统存储器和处理器速度有限。大多数虚拟机包括JVM的,是基于在栈上,在Dalvik虚拟机是基于寄存器。两种体系结构都
15、具有各自的优点和缺点,在一般情况下,基于所述堆栈机需要更多的指令,并基于对机器指令的寄存器。 DX是一套工具,以Java类成。一个DEX文件往往有多个。类。由于DEX有时一定要优化,会增加文件大小的1-4倍,在结束ODEX。 Dalvik虚拟机依赖于Linux内核提供的基本功能,如线程和底层内存管理。2.2.3Libraries在android底层框架中,有这样一个框架,这个框架不是用JAVA语言写的,而是用C/C+语言写的一个库的集合,安卓中许多组件在创建对象时就是由这一层通过反射构建对象,由于有这样一个层额存在,给你安卓开发人员提供了很大的便利。期中的一些核心库主要是:(1)系统C库:面向
16、Linux的嵌入式设备的一个BSD的标准C系统实现。(2)媒体库:这个库支持大量主流的视频和应聘的录制和播放,同样也支持大量的静态图片的管理,支持各种格式,如MP3,AAC,PNG,等等。(3)表面管理者:管理显示子系统,并且能够组合许多2D和3D图像的图像层。(4)LibWebCore:网页浏览器引擎,他不仅支持安卓的浏览器,哈支持WEB视图。(5)3Dlibrary:改库是使用硬件的3D加速或使用内资的高度优化的3D软件光涮。2.2.4 ApplicationFramework应用框架 安卓提供给用户一个开放的平台,这个平台提供了大量的极其丰富的应用开发能力,开发者借助本地的硬件资源优势,
17、便能很好的访问本地信息,运行后台服务并设置警告,或者想菜单栏添加通知以及与开发者访问与核心应用嘻嘻相关的同一框架的API。我们能够简化应用组件的从用通过设计应用框架,使我们能够发布应用的功能,别的客户端,比如手机,平板上的应用就能够使用这些应用。相同的机制可以让用户替换这些组件,在我们的应用中有许多的后台服务和系统,比如可扩展视图对象Views,用它来建立我们需要的应用,例如:button,fragment,listview,imageview和一个嵌入式的Web浏览器。Context借助此对象我们可以访问系统底层资源(比如我们的蓝牙),还可以实现分享数据。Resourse:提供访问非代码资源
18、的能力,如本地化字符串。Notificatoin:通知管理者,用它来接收和发送通知消息。Activity:管理应用的生命周期,显示View对象。2.2.5 Applications 安卓内部嵌入了一个应用程序集合,这个集合中包含了我们手机中常用的应用,如时钟,日历,谷歌地图.,这些应用都是使用JAVA代码编写的。在以后的时间里,还有跟多的优秀的应用等着我们去开发。通过前面的介绍,我们知道安卓的结构有一个非常清晰的分层,各层之间是分工的,目的明确,这样很好的的提高工作效率,为了方便,我们使用了如啊你按迭层架构,把它分为三层风别是:操作系统,中间件,和APP应用。由于安卓是开源的,有众多的开发者,
19、每一个开发人员都会贡献出自己的一份力量。2.3Android应用的构成和工作机制我们知道安卓程序组要分为四大部分,分别是Activity,Service,Content Provider和Intend Receiver,但这也不是绝对的,一个应用程序不一定都要包含这四个部分,我们使用时,要根据具体情况而定,使用他们时,需要在清单配置文件AndroidManiFest.xml中进行配置,这个配置文件是每个程序都必须的,在程序启动时我们是需要加载这个文案的。Android应用的构成和工作流程如图2-3: 图2-3 3. Android开发环境的搭建3.1JDK的安装和JAVA环境变量的设置3.1.
20、1 JDK下载地址JDK下载地址:JDK(Java Development Kit)是Java的核心部分,包括一系列Java开发所需要的工具和API,我们在装好JDK之后需要配置一下环境变量。3.1.2配置JAVA_HOME环境变量这是JDK的安装路径,这个环境变量需要我们自己在我的电脑里面创建,创建完之后可以使用我们的JDK路径作为应用路径,它的值为:JDK在我的电脑上的安装路径。如图3.1.2是我们正在为JAVA的JDK配置JAVA_HOME环境变量。 图3.1.23.1.3配置PATH环境变量PATH变量不需要创建,因为他已经在我们的电脑中存在,我们可以直接进行编辑。它的作用是用于引入配
21、置文件的路径,使我们的命令可以更加的简单,他的值为:SDK目录下bin文件的目录。下图3.1.3是正在为JDK配置PATH环境变量。 图3.1.3 3.1.4配置CLASSPATH环境变量用于编译时JAVA类的路径,注意这里设置的是两个值,(.;)表示的是JVM先搜索当前目录。其值为:.;%JAVA_HOME%libtools.jar。如图3.1.4是正在配置CLASS_PATH环境变量。 图3.1.43.1.5验证JDK是否安装成功当我们配置完毕后,我们就可以通过CMD运行以下命令:java -version,JAVAC 如果出现下面的返回信息,则说明设置成功。如图3.1.5所示:3.2安装
22、Eclipse3.2.1 Eclipse下载地址Eclipse下载地址:http:/www.eclipse.org/downloads/? (选择Eclipse Standard版本即可)。Eclipse为Java及Android开发的IDE。Eclipse不需要安装,把解压包解压后,剪切eclipse文件夹到你想安装的地方,打开时设置你的工作目录即可。3.3安装Android SDK3.3.1Android SDK下载地址Android SDK下载地址:Andorid SDK为Android管理开发包工具,提供了Android各级平台的开发包和工具。注意,因为我们是独立安装,不是一体化(集成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 手机软件 控制系统 毕业设计
链接地址:https://www.31ppt.com/p-5026563.html