馮瑩瑩,楊大山
(阜陽(yáng)師范大學(xué) 信息工程學(xué)院,安徽 阜陽(yáng) 236041)
Android系統(tǒng)(安卓系統(tǒng))是由Google公司和開(kāi)放手機(jī)聯(lián)盟開(kāi)發(fā)的一種基于Linux的自由且開(kāi)放源代碼的操作系統(tǒng),被廣泛應(yīng)用于手機(jī)、平板、智能家居等領(lǐng)域。Android系統(tǒng)具備良好的擴(kuò)充性,能夠有效支持各類硬件,滿足人們各項(xiàng)操作體驗(yàn)需求。基于 Android系統(tǒng)研發(fā)的應(yīng)用,各類智能交互App的創(chuàng)新開(kāi)發(fā)設(shè)計(jì)大有可為,能夠有效發(fā)揮出易擴(kuò)展、成本低、操作簡(jiǎn)單等應(yīng)用優(yōu)勢(shì),贏得市場(chǎng)用戶的認(rèn)可和支持。
Android是一款市面上首個(gè)為移動(dòng)終端設(shè)計(jì)開(kāi)發(fā)的移動(dòng)軟件,不僅能夠應(yīng)用在手機(jī)領(lǐng)域,還可以延伸應(yīng)用至PC、智能家居設(shè)備等領(lǐng)域。Android系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)主要分為4部分內(nèi)容,操作系統(tǒng)、中間件、用戶界面以及應(yīng)用軟件,不同部分有著不同的功能作用。下面圍繞Android系統(tǒng)軟件的架構(gòu)進(jìn)行描述:(1)Linux Kernel層。該層作為整個(gè)Android系統(tǒng)的核內(nèi)容,主要負(fù)責(zé)資源訪問(wèn)、設(shè)備驅(qū)動(dòng)程序以及電源管理等。(2)應(yīng)用程序。在Android系統(tǒng)開(kāi)發(fā)設(shè)計(jì)中有著眾多應(yīng)用軟件,而這些軟件都是采用Java語(yǔ)言進(jìn)行編寫的。(3)應(yīng)用程序框架。Android系統(tǒng)的軟件開(kāi)發(fā)技術(shù)人員通常會(huì)使用應(yīng)用程序框架提供的API函數(shù),規(guī)范合理開(kāi)發(fā)出各種應(yīng)用程序。而這些API主要涵蓋了SQLite 數(shù)據(jù)的使用、資源訪問(wèn)以及聯(lián)系電話訪問(wèn)等[1]。
在Android系統(tǒng)開(kāi)發(fā)中,主流開(kāi)發(fā)語(yǔ)言為Java語(yǔ)言,但是Google公司為了能夠提升Android系統(tǒng)在市場(chǎng)上的競(jìng)爭(zhēng)力,考慮到其需要支持Java語(yǔ)言與C語(yǔ)言的混合編程,因此又發(fā)布了Android NDK。基于Android NDK的支持,市場(chǎng)開(kāi)發(fā)技術(shù)人員能夠科學(xué)高效地編寫出大量具有高性能的關(guān)鍵部分代碼與重用歷史代碼。開(kāi)發(fā)技術(shù)人員通過(guò)簡(jiǎn)單修改.mk文件就能夠直接創(chuàng)建出.so文件,因?yàn)锳ndroid NDK中的.mk文件能夠屏蔽CPU、操作系統(tǒng)的差異。
Android下的智能交互App需求分析主要包括4個(gè)方面內(nèi)容。
2.1.1 業(yè)務(wù)需求
智能家居交互App開(kāi)發(fā)設(shè)計(jì)的核心業(yè)務(wù)服務(wù),需要滿足市場(chǎng)用戶能夠隨時(shí)隨地遠(yuǎn)程操控各項(xiàng)家居設(shè)備,比如空調(diào)設(shè)備、照明設(shè)備、窗簾等,同時(shí)還要能夠接收處理各種安防警報(bào)提醒、物業(yè)消息通知等[2]。
智能家居交互App設(shè)計(jì)應(yīng)用還要確保能夠?yàn)橛脩籼峁└黜?xiàng)簡(jiǎn)單方便的管理功能,滿足用戶的日常操作體驗(yàn)使用需求,方便查找各項(xiàng)使用數(shù)據(jù)信息。本文開(kāi)發(fā)設(shè)計(jì)的基于Android下的智能家居交互App,是市面上主流使用的智能家居系統(tǒng)核心組成部分,在考慮到系統(tǒng)的完整性、擴(kuò)展性等方面內(nèi)容,技術(shù)人員在對(duì)智能家居交互App開(kāi)發(fā)設(shè)計(jì)時(shí),科學(xué)有效地對(duì)智能家居的基礎(chǔ)與核心業(yè)務(wù)服務(wù)功能進(jìn)行了封裝處理,通過(guò)提煉出能夠復(fù)用的中間件,為智能家居的其他程序開(kāi)發(fā)提供了有利的基礎(chǔ)。
2.1.2 用戶需求
智能家居交互App設(shè)計(jì)服務(wù)對(duì)象主要是住宅小區(qū)業(yè)主,設(shè)計(jì)人員需要展開(kāi)小區(qū)調(diào)研分析工作,加強(qiáng)與住宅小區(qū)業(yè)主的互動(dòng)交流,全面了解他們對(duì)智能家居App的體驗(yàn)使用需求,從而有針對(duì)性地開(kāi)發(fā)App功能。關(guān)于智能家居App中的設(shè)備管理功能優(yōu)化設(shè)計(jì),應(yīng)能讓小區(qū)用戶利用移動(dòng)設(shè)備隨時(shí)隨地登錄App,瀏覽了解到家中各設(shè)備的開(kāi)關(guān)運(yùn)行狀態(tài),即便沒(méi)到家也可以提前遠(yuǎn)程操控啟動(dòng)關(guān)閉家居設(shè)備,從而享受到智能家居App帶來(lái)的便利生活。智能家居App中的信息服務(wù)功能優(yōu)化設(shè)計(jì)[3],應(yīng)能使小區(qū)用戶隨時(shí)掌握小區(qū)最新通知公告信息,獲悉家中水電使用情況,及時(shí)進(jìn)行水電費(fèi)用充值,避免出現(xiàn)斷水、斷電等問(wèn)題,影響正常生活。此外,信息服務(wù)功能還可以幫助用戶獲取安防警報(bào)信息,針對(duì)突發(fā)情況及時(shí)采取控制防范措施,提升家居生活的安全可靠性。
2.1.3 功能需求
Android的家居智能App開(kāi)發(fā)設(shè)計(jì)還需確保用戶能夠操作使用軟件完成各項(xiàng)業(yè)務(wù),滿足用戶不同的業(yè)務(wù)開(kāi)展需求,提升智能家居生活體驗(yàn)水平,如下表1所示為現(xiàn)代智能家居App基礎(chǔ)功能設(shè)計(jì)。
2.1.4 非功能性需求
智能家居App設(shè)計(jì)的非功能性需求是指為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性。智能家居App的非功能性需求主要包括系統(tǒng)性能、系統(tǒng)安全、可復(fù)用性、可適應(yīng)性以及界面友好性等。以App系統(tǒng)性能需求為例,其實(shí)質(zhì)是指系統(tǒng)運(yùn)行響應(yīng)速度和計(jì)算速度。App的性能會(huì)受到各種因素的影響,主要涵蓋了業(yè)務(wù)需求、編程語(yǔ)言、系統(tǒng)架構(gòu)以及算法設(shè)計(jì)等。當(dāng)技術(shù)人員在優(yōu)化設(shè)計(jì)智能家居App時(shí),需要注重識(shí)別和處理好這些性能問(wèn)題,以此來(lái)滿足小區(qū)用戶的各項(xiàng)體驗(yàn)使用需求。

表1 智能家居App基礎(chǔ)功能
基于Android的智能家居App系統(tǒng)模塊設(shè)計(jì)主要分為4部分內(nèi)容,分別是信息服務(wù)、數(shù)據(jù)查詢、設(shè)備管理以及軟件設(shè)置。如圖1所示,為智能家居App的系統(tǒng)模塊設(shè)計(jì)架構(gòu)。其中,信息服務(wù)模塊設(shè)計(jì)主要負(fù)責(zé)管理住宅小區(qū)業(yè)主接收的各項(xiàng)推送信息,涵蓋了小區(qū)安防警報(bào)、物業(yè)通知以及小區(qū)公告等。以小區(qū)物業(yè)通知為例,通過(guò)將智能家居App與小區(qū)物業(yè)管理系統(tǒng)聯(lián)系在一起,物業(yè)管理人員能夠通過(guò)該系統(tǒng)向本小區(qū)業(yè)主推送各類通知信息,比如水電費(fèi)繳納通知、快遞包裹領(lǐng)取通知、網(wǎng)費(fèi)欠費(fèi)通知等,使小區(qū)業(yè)主能夠及時(shí)處理這些信息,方便日常家居生活,同時(shí)也提升了小區(qū)物業(yè)的管理工作效率。
數(shù)據(jù)查詢模塊作為智能家居App設(shè)計(jì)的重要快捷入口,能夠方便小區(qū)業(yè)主用戶通過(guò)登錄使用App,隨時(shí)隨地了解到家居設(shè)備運(yùn)行情況、設(shè)備操作記錄以及小區(qū)物業(yè)公告與通知記錄等內(nèi)容[4]。當(dāng)小區(qū)業(yè)主用戶通過(guò)家居智能App操作某類設(shè)備時(shí),只需在數(shù)據(jù)查詢模塊輸入相對(duì)應(yīng)的設(shè)備類型名稱,準(zhǔn)確點(diǎn)擊數(shù)據(jù)查詢按鈕后,App界面就會(huì)呈現(xiàn)出對(duì)應(yīng)的設(shè)備信息,方便小區(qū)業(yè)主用戶控制自家設(shè)備,實(shí)現(xiàn)設(shè)備的遠(yuǎn)程操控管理。
設(shè)備管理模塊作為智能家居App設(shè)計(jì)的核心內(nèi)容,能夠輔助小區(qū)業(yè)主科學(xué)高效地管控家居設(shè)備,完成各項(xiàng)設(shè)備的遠(yuǎn)程操控、視頻監(jiān)控以及基于設(shè)備控制的情景模式和聯(lián)動(dòng)防區(qū)。以設(shè)備控制的情景模式為例,能夠?qū)I(yè)主家中的各項(xiàng)設(shè)備及其開(kāi)關(guān)狀態(tài)設(shè)置成某個(gè)特定場(chǎng)景,使小區(qū)業(yè)主能夠完成一鍵操作[5]。軟件設(shè)置模塊作為智能家居App設(shè)計(jì)過(guò)程中的輔助功能部分,涵蓋了軟件用戶管理設(shè)置、升級(jí)設(shè)置以及網(wǎng)絡(luò)設(shè)置。以軟件用戶管理設(shè)置為例,其實(shí)質(zhì)是指小區(qū)業(yè)主的注冊(cè)和登錄功能。通常情況下,小區(qū)內(nèi)每個(gè)家庭用戶只能注冊(cè)一個(gè)賬號(hào),業(yè)主可以將登錄賬號(hào)給其他人使用,并更改保存好隱私密碼,設(shè)置是否自動(dòng)登錄。
智能家居App的分層模塊結(jié)構(gòu)設(shè)計(jì)如圖2所示,從上往下共分4層,分別是用戶界面層、功能層、中間層以及操作系統(tǒng)層。不同層之間存在著相互依賴關(guān)系,下層需要為上層有效提供公開(kāi)的服務(wù)接口,當(dāng)某層的內(nèi)部產(chǎn)生一定變化時(shí),只需要保證外部接口不變,就不會(huì)對(duì)其他層的實(shí)際運(yùn)行產(chǎn)生影響。不同層都是嚴(yán)格按照模塊進(jìn)行科學(xué)劃分,不同模塊之間處于一種相互獨(dú)立的狀態(tài),并通過(guò)接口相關(guān)聯(lián),能夠滿足高內(nèi)聚低耦合的基本準(zhǔn)則。以智能家居App的中間層為例,作為核心功能層能夠?yàn)锳pp操作用戶提供網(wǎng)絡(luò)數(shù)據(jù)通信、數(shù)據(jù)存儲(chǔ)、管理以及第三方庫(kù)等服務(wù),滿足用戶的各項(xiàng)服務(wù)功能需求。

圖1 智能家居App功能模塊設(shè)計(jì)

圖2 智能家居App分層模塊結(jié)構(gòu)
基于Android的智能家居App數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),是為了能夠高效使用數(shù)據(jù)而在計(jì)算機(jī)中存儲(chǔ)和組織數(shù)據(jù)的特定方法。智能家居App的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)存在著多種方式,比如數(shù)據(jù)庫(kù)、XML文件。以智能家居App的數(shù)據(jù)庫(kù)設(shè)計(jì)為例,作為一種按照數(shù)據(jù)結(jié)構(gòu)進(jìn)行組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),是保障App正常穩(wěn)定運(yùn)行的重要前提基礎(chǔ)。智能家居App的數(shù)據(jù)庫(kù)是基于Android系統(tǒng)的SQLite數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)信息主要包括小區(qū)物業(yè)公告通知信息、安防警報(bào)記錄信息、設(shè)備操作記錄信息等。技術(shù)人員在優(yōu)化設(shè)計(jì)智能家居App的數(shù)據(jù)庫(kù)時(shí),要科學(xué)遵循以下幾點(diǎn)原則。
2.4.1 高效性
設(shè)計(jì)技術(shù)人員要提升智能家居App的數(shù)據(jù)庫(kù)響應(yīng)速度,就必須注重減少數(shù)據(jù)庫(kù)的操作指令數(shù),充分考慮數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)用的高效性。
2.4.2 降低數(shù)據(jù)冗余
當(dāng)App系統(tǒng)中存在著過(guò)多的冗余數(shù)據(jù),將會(huì)占據(jù)更多的物理存儲(chǔ)空間,不僅會(huì)對(duì)用戶升級(jí)軟件帶來(lái)麻煩,也會(huì)不利于數(shù)據(jù)庫(kù)的安全高效維護(hù)[6]。因此,App設(shè)計(jì)人員在數(shù)據(jù)庫(kù)優(yōu)化設(shè)計(jì)時(shí),需要注重降低數(shù)據(jù)冗余。
2.4.3 擴(kuò)展性
與西方發(fā)達(dá)國(guó)家相比,當(dāng)前我國(guó)智能家居建設(shè)發(fā)展還處于初級(jí)階段,各項(xiàng)功能還不夠完善,市場(chǎng)用戶的體驗(yàn)需求也會(huì)逐漸產(chǎn)生變化。因此,在智能家居App數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),設(shè)計(jì)人員需要考慮到賦予其良好的可擴(kuò)展性。
2.4.4 安全性
數(shù)據(jù)信息作為智能家居App系統(tǒng)中極為寶貴的資源,關(guān)乎用戶的切身利益,一旦用戶日常操作使用App過(guò)程中產(chǎn)生的數(shù)據(jù)信息,被不法分子盜取利用或者破壞篡改,將會(huì)造成較為嚴(yán)重的不良影響。因此,在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),技術(shù)人員需要采取一定的安全防范控制措施,充分保障數(shù)據(jù)庫(kù)日常運(yùn)行管理的安全可靠性。
綜上所述,基于Android的智能交互App設(shè)計(jì)是一項(xiàng)極為重要的工作,能夠?yàn)槭袌?chǎng)用戶的日常工作生活帶來(lái)極大的便利。因此,技術(shù)人員需要結(jié)合市場(chǎng)用戶的操作體驗(yàn)需求,合理開(kāi)發(fā)App功能模塊,為用戶提供多元化、個(gè)性化的操作功能,同時(shí),還需注重優(yōu)化改善用戶體驗(yàn),提升App界面操作使用水平。