当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:Android手机应用程序开发需要着眼于它的整个体系构架,文中介绍了Google新近推出的移动设备软件平台Android的基本构成和层次结构,同时给出以EXPLORERF-CC2530系统为基础平台的智能家居终端应用程序的开发方法。

引言

在家庭网络中部署的信息终端越来越多,在解决他们之间的物理互联问题之后家庭用户还需要对各个设备进行一些复杂配置才能使用,这对于普通家庭用户来说是难以接受的。加入到家庭网络的设备如何能自动地相互发现并协同配合工作一直是数字家庭领域热烈讨论的问题。目前智能家居系统有了一定的发展并且市场上也开始出现相应的产品。但从总体的发展来看不容乐观,特别是统一标准和权威产品的缺乏严重影响了家居智能化的发展。随着科技的进步,经济的发展,人们的物质生活水平不断提高,对家居环境的要求也越来越高,作为家居智能化的核心部分一一智能家居控制系统也越发显得重要。家居智能化控制的开发和建设是未来国家、经济发展的必然趋势。智能家居控制器可以为系统提供智能控制方案使住户的控制更便捷、更高效,更能为家庭的日常活动节约不必要的能耗。而且在现在这个注重绿色环保的世界里,智能地为住户控制好空气的湿度、温度等检查分析空气成分,让住户安心入住同时,智能家居控制器可以根据住户的要求调整方案,加强紧急处理、危机救护等急救控制。伴随着科学技术的迅速发展和3G通信网络的逐步普及,通过便捷的手机终端进行远程家居监控,成为更多忙于工作的职业人、领导以及智能手机用户的迫切需要。Android是由开放手机联盟于2007年11月5日发布的基于Linux内核的开源手机软件设计平台,由操作系统、中间件、用户界面和应用软件组成。Android给开发人员提供了为移动设备开发新颖的应用程序的机会,正因为Android操作系统具有很强的扩展性和互联性,以及不存在任何以往阻碍移动产业创新的专有权障碍,得到了手机厂家和运营商的普遍欢迎,凭借其系统的灵活性、开放性以及开放的互联网理念,在操作系统平台的竞争中占据了明显的优势。本文设计的是基于三星S4智能手机完成的终端智能家居系统。

Android软件平台的构成[2]

Android平台整体自底向上由以下4个层次组成:Linux内核层、Android运行时库和其他库层、应用框架层、应用程序层。

Linux内核层

Android是基于LinuxVersion216123内核开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为虚拟的中间层,该层位于硬件与其他的软件层之间。

Android运行时库和其他库层

Android运行时库包含一组核心库(提供了Java语言核心库内的大部分功能)和Dalvik虚拟机。同时Android提供了丰富的库类支持且大部分为开源代码,如采用的数据库为SQLite。Android选择它作为移动终端的嵌入式数据库有以下优点:它无需安装和管理配置,它是一个存储在单一磁盘文件中的完整的数据库,体积只有250KB但支持数据库大小至

TB,提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快。

1.3应用框架层

在应用框架,Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的结构化设计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。

1.4应用程序层

Android本身会附带一些核心的应用程序,包括E-mail客户端、短信程序、日历、地图、浏览器、通信录等,目前所有的应用程序都是由Java语言开发的。

2面向Web服务的智能家居控制系统软件设计

面向Web服务的智能家居控制系统以EXPLORERF-CC2530系统为基础,将对单一用户的家居设备控制上升到对整个建筑甚至建筑群的集中控制和管理,将建筑物或建筑群的所有信息存储在服务器的数据库中,Android手机或者平板电脑通过网络(3G/Internet/GPRS等)从服务器获取实时数据,服务器通过以太网与EXPLORERF-CC2530系统的网关进行通信,房间控制器与室内的家居设备相对应的模块通过无线的方式进行通信,从而实现了远程控制家居设备的功能。系统省去了室内控制器等硬件设计的复杂度,不必破坏隔墙,不必购买新的电气设备,系统可以简单安装,减少了用户的使用成本;系统可以只与照明设备或常用的电气设备连接,将来也可以与其他设备连接,以适应新的智能生活需要,具有良好的可扩展性。本章首先介绍了Android远程数据库的几种方法并且选取了其中一种,然后实现了Android客户端对远程服务器的访问,最后对客户端界面做了个性化设计。

2.1Android与远程数据库通信的方法

近年来,随着智能移动设备的快速发展和3G网络的逐渐普及,以及Android系统凭借其开放性、多样性等优势越来越受到开发人员的推崇,如腾讯、淘宝等知名网站都推出了Android客户端版本,同时很多Window桌面的数据库应用程序都延伸到移动设备上。由于移动设备的内存及性能很难比得上PC机或笔记本电脑,所以桌面的客户端访问数据库的方法也不可能在Android设备上使用。MFC/Swing等C/S模式的程序设计可以通过IP地址直接访问远程数据库,但是Android平台并没有提供直接调用远程数据库的接口,所以Android客户端不能直接访问远程数据库[7]。而是在Android客户端与远程数据库中加入Web服务器来实现Android访问远程数据库的功能,而且在访问数据库的过程中可以把频繁仿问的数据内容缓存在Web服务器中,不同的客户端不需要访问远程数据库便可以获取相同的数据,减少了访问远程数据的次数和数据库的压力,提高了访问数据库的效率[6]。本系统Android客户端访问远程数据库采用基于SOAP的Web服务实现远程访问数据库Android中并没有直接调用WebService的库,借助ksoap2-Android这个第三方工具来实现

WebService的访问,这个软件可以封装KSOAP2请求,以SOAP的格式调用WebService,并以将返回的SOAP格式的数据解析为SoapObject对象。

2.2WebService技术

WebService是计算机领域一种新兴的分布式技术,是基于可编程的Web的应用程序,具有发布、定位、调用的功能,WebService在被访问时可以不考虑相关服务如何被实现便可以被任何系统、在任何地方被动态访问。与传统的模式相比,实现服务的访问依赖于协议和数据格式,而不用像其他模式一样依赖特定对象模型协议;而且WebService可以整合不同平台、不同语言、不同开发技术的应用,具有良好的封装性、高度集成性、平台独立性等优点。WebService的关键技术包括HTTP、XML、SOAP、WDSL、UDDI,这些技术通过独立于特定编程语言、操作系统、硬件平台的方式进行通信。

3项目源程序开发

智能家居源程序主要功能模块框架如图1所示。

基于Android的智能家居程序开发与研究

3.1登录与注册功能的界面设计

当用户拥有智能家居远程控制系统中的相关硬件,如环境模块、房间控制器、设备模块等,各模块上标示有唯一的ID,用户可以根据ID进行注册,注册成功后便可以登录此系统对相关设备进行控制。若用户已经注册,则可以直接登录认证,登录系统认证的大致流程图如图2所示。

基于Android的智能家居程序开发与研究

若用户登录成功,则系统直接跳转到系统主界面;系统的主界面如图3所示。若用户名或密码错误,则弹出错误提示框,图 4 所示是系统给出的错误提示框图。

基于Android的智能家居程序开发与研究

3.2代码的运行

完成工程的创建和源代码的编译后就开始运行程序。在Eclipse平台中选择Run>OpenRunDialog选项,打开运行对话框。然后,在对话框左边的typefiltertext下选择AndroidApplication>contactnote,再点击对话框中的Run按钮,应用程序就会被加载到仿真器上并开始运行。

Android手机应用程序开发需要着眼于它的整个体系构架,是一项复杂的工程。本文分析了Android体系的层次架构,并在此基础上介绍了Android应用程序开发的相关技术和基本的开发流程oAndroid平台具有极大的开放性和兼容性,相信广大开发者可以借助AndroidSDK提供的强大技术支持,开发出丰富多彩、极具个性的移动应用。

示框,图4所示是系统给出的错误提示框图。

20211119_6197c16bef5a4__基于Android的智能家居程序开发与研究

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着移动设备性能的不断提升,存储技术作为设备性能的重要组成部分,也在不断地发展和进步。其中,UFS(Universal Flash Storage)作为一种先进的闪存接口标准,已经在众多高端智能手机和平板电脑中得到了广泛...

关键字: 移动设备 UFS 闪存接口标准

罗德与施瓦茨与SmartViser携手开发了一种用于测试符合欧盟销售的智能手机和平板电脑的新Energy Efficiency Index(EEI)标签法规的解决方案。该解决方案的核心是R&S CMX500,这是...

关键字: 智能手机 Android iOS

C语言是一种广泛应用于软件开发领域的编程语言。它是由贝尔实验室的Dennis Ritchie在20世纪70年代初创建的,旨在为UNIX操作系统的开发提供一种高级编程语言。C语言具有简洁、高效、可移植性强等特点,因此成为了...

关键字: C语言 操作系统 应用程序

洛杉矶、马德里和墨西哥城2023年8月30日 /美通社/ -- 如今,父母和看护者越来越担心孩子们的屏幕暴露和屏幕互动。 为指导父母为家人做出理想的屏幕时间决策,排名第一的儿...

关键字: LINGO BSP 应用程序 COM

瓦努阿图维拉港2023年8月28日 /美通社/ -- Vantage(或"Vantage Markets")欣然宣布在Vantage应用程序上推...

关键字: GE AN 信号 应用程序

(全球TMT2023年8月24日讯)2023年8月23日,时值实时3D引擎Unity在华设立合资公司Unity中国一周年之际,Unity中国正式推出Unity中国版引擎——团结引擎。Unity全球CEO John Ri...

关键字: UNITY CE Android 开发者

报告显示:全球电商 App 获客花费接近50亿美元 北京2023年8月23日 /美通社/ -- 全球营销衡量与体验管理平台 AppsFlyer 近日发布《2023 电商 App 营销现状报告》。尽管面临全球经...

关键字: APPS BSP iOS Android

(全球TMT2023年8月14日讯)亚马逊云科技日前宣布在以色列(特拉维夫)推出亚马逊云科技基础设施区域。亚马逊云科技的区域由一个地理区域内的多个相互独立、且在物理上分隔的可用区组成。亚马逊云科技以色列(特拉维夫)区域...

关键字: 亚马逊 应用程序 开发者 数据中心

北京——2023年8月14日 亚马逊云科技日前宣布在以色列(特拉维夫)推出亚马逊云科技基础设施区域。新的亚马逊云科技区域将为开发者、初创公司、创业人士和企业,以及政府机构、教育和非营利组织提供更多运行其应用程序的选择,他...

关键字: 亚马逊 应用程序 云技术

据业内消息,近日国家工信部印发了《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,并表示在广泛征集APP主办者等互联网信息服务提供者、网络接入服务提供者、应用分发平台、智能终端生产企业等各方意见的基础上,组织开...

关键字: 工信部 应用程序 App 小程序
关闭
关闭