韓曉艷
摘要:該文在Android平臺體系結構分析前提下,闡述了Android平臺的程序特點、關鍵技術,以及APP的功能模塊和設計要求,并以智能家居為例,對基于Android平臺的移動APP開發(fā)方法與應用研究進行了重點探討,以供參考。
關鍵詞:Android平臺;APP應用;應用開發(fā)
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)18-0071-02
基于Android平臺的各類具有高實用價值的應用軟件也大量被開發(fā),例如APP等。傳統(tǒng)智能家居是指利用家中控制設備、電腦等操作控制家居設備,從而實現(xiàn)家居智能化。但這種智能家居欠缺便捷性,只能在家里的設備上進行操作。由于移動互聯(lián)網(wǎng)更加便捷、穩(wěn)定、靈活,本文擬開發(fā)基于Android平臺的移動智能家居APP,以進一步提升家居智能化水平。
1 Android平臺的體系結構及應用開發(fā)技術
1.1 Android體系結構
作為最新一代移動操作系統(tǒng),Android平臺能支持強大的硬件配置和多種無線通信方式,在智能移動終端中應用比較廣泛。Android平臺的體系架構分為四層,即Linux內(nèi)核、系統(tǒng)運行庫(Libraries)、應用程序框架(Application Framework)及應用程序(Application)。應用程序框架和應用程序由Java語言編寫,系統(tǒng)運行庫由C和C++語言編寫,Android Runtime是運行Java程序所需的Dalvik虛擬機,Linux Kernel是Linux內(nèi)核和相關驅(qū)動。
1.2 Android應用開發(fā)技術
1)Android常用組件。Android系統(tǒng)是開源的,不少開發(fā)者都根據(jù)實際需求,對其進行了一些有針對性的改進和完善,開發(fā)出具有較好實用性的軟件開發(fā)工具組件。在這些組件中,常用的有如下幾種:一是Context工具包,其是組件調(diào)用的必需工具,本質(zhì)上是一個接口;二是Activity,這是用戶真正面對的組件,APP應用過程中的所有交互性的操作,均由其來實現(xiàn);三是Service,Service屬于一個程序的后臺,不在前臺運行的未關閉程序,可放入Service繼續(xù)運行。
2)Android應用程序。Android平臺的各層系統(tǒng)框架承接不同的功能和模塊,且它們之間具有緊密的聯(lián)系,下層的應用模塊會為上層的功能提供支持和服務。在這其中,應用程序?qū)优c應用軟件客戶端相關性最大。應用程序?qū)拥腣iew視圖,通常和Activity組合使用,可以用作大多數(shù)Widget控件的父類,利用其創(chuàng)建一個新的用戶界面并進行設置、調(diào)試和裝飾。布局管理器的主要功能是控制各子控件的位置和排列組合。另外,Android平臺自身也有一些比較簡單的布局,可以用來進行簡單的用戶界面設計,讓用戶擁有更豐富的選擇。在Android系統(tǒng)中,XML文件的作用主要是進行資源定義和數(shù)據(jù)存儲,可以簡化應用程序資源調(diào)用的過程,提高系統(tǒng)反應速度。
2 Android軟件開發(fā)流程與關鍵技術
2.1 Android軟件開發(fā)流程
Android操作系統(tǒng)以Linux的自由及開放源代碼為基礎,開發(fā)語言主要是Java,加密解密算法、圖形圖像開發(fā)等一些特殊應用環(huán)境,可能會用到C/C++。Google在2013年發(fā)布了An-droid Studio,因此,目前開發(fā)Android APP應用程序可采用Eclipse和Android Studio。相對來說,使用Android Studio開發(fā)APP更加便捷。構建Android環(huán)境的工具及開發(fā)環(huán)境搭建流程,具體見表1和圖1所示。
2.2基于Android平臺下移動APP開發(fā)關鍵技術
Android應用程序每個進程都運行于一個Dalvik虛擬機中,設置Linux的權限可對應用訪問權限進行設置。在特殊情況下,多個應用共享一個Linux進程。開發(fā)基于Android平臺的移動APP所用到的關鍵技術,主要有快速開發(fā)框架技術和數(shù)據(jù)存儲技術。快速開發(fā)框架技術能提高Android信息類管理系統(tǒng)的開發(fā)效率,當前比較流行的5款主流快速開發(fā)框架,具體見圖2所示,其優(yōu)缺點比較具體見表2所示。
3基于Android平臺的移動智能家居客戶端APP開發(fā)設計
3.1客戶端界面設計
為提高用戶對軟件的忠實度,在進行設計之前,先對用戶需求進行分析。界面設計結合用戶對移動APP功能的需求,采用系統(tǒng)中自帶的控件進行,體現(xiàn)出便捷、全面、友好的特點??蛻舳税惭b在使用Android系統(tǒng)的移動智能終端上,與服務器后臺建立連接。
3.2客戶端登錄與管理任務執(zhí)行模塊設計
只有用戶名和登錄密碼信息驗證正確,才能進入系統(tǒng)進行操作。如果驗證不正確,則無法成功登錄系統(tǒng)。登陸界面主要包括編輯文本、檢查盒、按鈕等控件,用戶登錄成功后,會收到服務器發(fā)送的當前最新任務安排與待完成任務列表,用戶可根據(jù)管理任務進行操作,系統(tǒng)收到指令后,便會轉(zhuǎn)到客戶端管理任務執(zhí)行模塊。該模塊主要包括家電控制模塊、環(huán)境監(jiān)控模塊、系統(tǒng)設置模塊。
3.3客戶端結構設計
1)uI控制界面。Android應用程序一般會包含多個Activi-ty,其相互可進行通信和跳轉(zhuǎn)。其他組件可在Activity上顯示。設計UI界面時,先完成View設計并利用set Content View將其在屏幕上顯示,View載入可通過XML文件設置或Java代碼編寫方式實現(xiàn)。
2)通信模塊。服務器端指定端口號,創(chuàng)建Server Socket,然后處于偵聽狀態(tài)。用戶創(chuàng)建Socket對象,并與服務器建立連接,在此基礎上,服務器會返回客戶端的Socket對象,從而完成建立通信機制的任務,并進行數(shù)據(jù)傳輸。
3)SQLite數(shù)據(jù)庫。SQLite數(shù)據(jù)庫是關系型數(shù)據(jù)庫,內(nèi)存和資源占用比較小,非常適宜用于移動APP設計。同時,SQLite數(shù)據(jù)庫具有良好的跨平臺性,可以應用在不同的操作系統(tǒng)上,且能兼容多種語言。利用C或Java等程序設計語言,均可對其進行快速的控制。
4)人機交互技術?,F(xiàn)在終端軟件控制的方式比較多元,常見的有按鍵控制、觸屏控制、手勢控制等。本文采用手勢控制方式,采集手勢動作圖像后,利用算法進行處理和識別。首先進行手勢建模,提取人手的形狀、大小、數(shù)目等特征信息,通過圖像增強、噪聲去除、特征提取、邊界處理等,在此基礎上,獲得圖像的基本信息和特征參數(shù),然后,建立圖像模型。手勢模型圖像與數(shù)據(jù)庫中的圖像模型自動進行比較,符合的便是相應的手勢。
3.4系統(tǒng)測試與實現(xiàn)
1)Matlab程序?qū)崿F(xiàn)。加載手勢圖片,根據(jù)對話框中的提示進行文件處理。程序會將文件名稱和路徑返給系統(tǒng),供系統(tǒng)進行調(diào)用。然后,根據(jù)算法編寫程序,提取特征向量。采用模板匹配算法,計算待測圖像和模板圖像兩者特征向量之間的歐式距離,從而實現(xiàn)Matlab程序的功能。
2)系統(tǒng)測試。假定系統(tǒng)模型庫中只有“石頭”、“剪刀”、“布”三種手勢,分析160種手勢,統(tǒng)計正確率。由4個人每個人做出10種手勢。結果表明,識別結果正確概率達到92.1%,表明系統(tǒng)具有較高的實用性。
4結束語
綜上所述,Android是現(xiàn)今移動互聯(lián)最為火熱的軟件平臺,具有良好的應用價值。本文基于Android平臺,設計了移動智能家居APP應用,經(jīng)系統(tǒng)測試與實現(xiàn),該APP符合設計預期,可以較好地滿足用戶的需求。endprint