1.3 课题研究方案
该LED 智能控制系统软件控制与开发项目使用Java语言编写,通过Android手机平台和WIFI连接智能操控照明系统。我们家中的各种灯——过道灯、草坪灯、客厅灯、厕所灯、餐厅灯和卧室灯等的一些照明灯开关麻烦,往往需要走过去开关,在某种程度上也造成了操作的不便。在今天,移动端设备的普及已经铺天盖地,我们可以充分利用Android手机平台的开放性,为LED智能控制系统软件设计一款实用又方便的APP。本文主要介绍系统的开发背景,目的,并重点介绍了软件设计的过程。软件方面,用现阶段比较流行的Java语言编程。
2 Android系统简述
Android系统,是一个开源的移动设备操作系统,它以Linux为基础,主要用于大多数的Pad OS和Smart Phone OS,由Open Handset Alliance(OHA)(隶属于Google公司)优化编辑中。
2.1 Android系统发展史
安迪·鲁宾(Andy Rubin),是开发生产的原生Android系统的人,最初开发这个系统是建立一个在数码相机中的先进的操作系统。但后来,他们发现,市场对数码相机,操作系统没有这么大的需求,再加上智能手机市场正在迅速增长,所以他给了服务的智能手机转型的Android操作系统。 2005年,美国科技公司谷歌收购Android系统。 2007年,为了提高共同开发Android系统,谷歌和84个开发商,制造商和电信运营商建立了开放手机联盟。随后,谷歌以Apache许可证免费了开源许可证,发布了Android原代码,允许厂商推出的智能手机搭载Android,Android后来逐步扩展到平板电脑,等诸多领域。
2.2 Android系统架构
Android系统的架构由以下部分组成
2.2.1 Linux Kernel
Android提供了基于Linux内核的核心系统服务,如:安全,内存管理,进程管理,网络堆栈和驱动程序模型。 Linux内核还充当隐藏特定的硬件的细节的硬件和软件之间的抽象层和上层提供统一的服务
从技术上来说,Linux只是一个内核。 “核心”是指提供一个硬件抽象层,磁盘和文件系统控制,多任务和系统软件的其它功能。内核是不是一个完整的操作系统。有基于一个名为Linux或GNU / Linux的Linux操作系统内核一个完整的操作系统(它包含系统中的很多GNU项目的系统组件)。
2.2.2 Android Runtime
Android包括一套核心库来提供大部分可用的核心库函数的Java编程语言。大多数虚拟机包括是基于堆栈的JVM和Dalvik虚拟机是基于寄存器的。两种架构具有优点和缺点,在一般情况下,需要更多的指令基于堆栈的机器,以及较大的基于寄存器的机器指令。 DX是一套工具,Java的.class可以转换成.dex格式。一个DEX文件通常有多个。类。由于地塞米松有时必须优化文件大小增加1-4倍,ODEX结尾。
2.2.3 Library
Android包括了使用Android系统的各个组成部分的一组C / C ++库。通过Android应用程序框架(应用框架),这些功能被暴露给开发者。以下是一些核心库:系统C库 - 基于嵌入式Linux设备媒体库BSD衍生工具,调整的标准C系统库(libc) - 基于PacketVideo的OpenCore。驱动Android浏览器和嵌入式Web视图SGL--基本的2D图形引擎3D库 - 基于API的1.0实现的OpenGL ES。
2.2.4 Application Framework
通过提供一个开放的开发平台,Android使开发人员能够编写极其丰富和创新应用。开发人员可以自由使用设备的硬件,获取位置信息,运行后台服务,设置闹钟等优点,添加通知状态栏等等很多。开发人员可以充分使用核心应用程序使用的框架API。旨在简化组件的重用架构应用程序,任何应用都可以发布自己的能力和任何其他应用程序可以使用这些功能(受限制的安全要求框架的执行)。这种机制允许用户更换组件。所有的应用程序实际上是一组服务和系统。