韓文智, 駱文亮
(四川職業(yè)技術(shù)學(xué)院計算機科學(xué)系, 四川遂寧629000)
?
Android平臺的移動APP開發(fā)方法與應(yīng)用研究
韓文智, 駱文亮
(四川職業(yè)技術(shù)學(xué)院計算機科學(xué)系, 四川遂寧629000)
Android平臺是以Linux為基礎(chǔ)的、開源的移動設(shè)備開發(fā)平臺。在分析Android平臺體系結(jié)構(gòu)的基礎(chǔ)上,提出了移動APP的一般性開發(fā)流程及主要方法,并就Android平臺的程序特點、數(shù)據(jù)存儲技術(shù)和快速開發(fā)框架等關(guān)鍵技術(shù)進行了詳細論述。以某單位基于Android平臺的后勤管理系統(tǒng)開發(fā)為例,給出了需求分析、數(shù)據(jù)庫設(shè)計、系統(tǒng)后臺、移動終端等模塊的開發(fā)流程和實現(xiàn)方法,構(gòu)建了一個界面友好、運行穩(wěn)定、易于維護和應(yīng)用靈活的后勤管理系統(tǒng),有助于實現(xiàn)后勤設(shè)備管理工作的信息化、智能化和實時化。
Android平臺;移動APP開發(fā);關(guān)鍵技術(shù)
近年來, 隨著移動互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展和智能手機及平板電腦等移動設(shè)備的迅速普及,基于3G 技術(shù)的移動互聯(lián)網(wǎng)絡(luò)應(yīng)用也日漸增多。然而,目前大多數(shù)單位的后勤設(shè)備管理工作依然通過傳統(tǒng)的PC客戶端或者通過移動終端訪問網(wǎng)站的方式來對后勤設(shè)備進行管理,管理人員一旦離開PC便無法獲取相關(guān)后勤設(shè)備的實時信息,嚴重影響管理效率和管理水平[1-2]。因此, 建立移動平臺的后勤管理系統(tǒng)APP,實現(xiàn)實時監(jiān)管查詢,提高后勤資產(chǎn)管理的工作效率是一個必然的趨勢。
Android是Google開發(fā)的最新一代移動操作系統(tǒng),它以Linux平臺為核心,代碼開源,支持強大的硬件配置和多種無線通信方式,主要用于智能移動終端,目前其最新版本已更新至Android5.0[3],其軟件體系架構(gòu)分為四層,從下往上它們分別是:Linux內(nèi)核、系統(tǒng)運行庫(Libraries)、應(yīng)用程序框架(Application Framework)以及應(yīng)用程序(Application),其結(jié)構(gòu)如圖1所示。
圖1 Android體系結(jié)構(gòu)圖
在圖1中可以看出,Android體系結(jié)構(gòu)是分為四層的,其中用藍色標注的是由Java語言編寫的應(yīng)用程序,黃色標注的代表運行Java程序所需要的Dalvik虛擬機,綠色標注的則是由C和C++語言編寫的程序庫,最后,紅色標注的是Linux內(nèi)核和相關(guān)驅(qū)動。
由于Android操作系統(tǒng)的內(nèi)核是基于Linux系統(tǒng)的,且主要使用Java作為開發(fā)語言(C/C++在一些特殊的應(yīng)用場合會用到,如圖形圖像開發(fā)、加密解密算法以及視頻音頻解碼等),故而如果要在非Linux平臺下開發(fā)Android程序,需要做相關(guān)的準備工作[4]。Windows平臺下所需要的開發(fā)工具見表1。
表1 搭建Android環(huán)境所需工具
由于Google在2013年I/O大會上發(fā)布了Android Studio,故而在開發(fā)Android應(yīng)用程序時,除了使用Eclipse以外,還可以使用Android Studio來開發(fā)Android APP。使用Android Studio開發(fā)APP,更加方便[5]。具體的開發(fā)環(huán)境搭建流程如圖2所示。
圖2 Android開發(fā)環(huán)境搭建流程
Android應(yīng)用程序主要是使用Java語言編寫,但是由于Android應(yīng)用程序是手機端程序,它與PC端的程序開發(fā)是有所區(qū)別的[6]。開發(fā)Android移動APP時,需要注意如下幾個關(guān)鍵點。
3.1 Android程序的特點
(1)每個應(yīng)用都有屬于自己的Linux進程;(2)每個進程都運行于一個Dalvik虛擬機中;(3)通過Linux的權(quán)限設(shè)置,可以控制應(yīng)用的訪問權(quán)限;(4)在某些情況下,可以讓多個應(yīng)用共享一個Linux進程。
3.2 快速開發(fā)框架技術(shù)
選擇一款快速開發(fā)框架是開發(fā)Android信息類管理系統(tǒng)的非常有效率且省成本的方式。目前,國內(nèi)外相關(guān)的Android快速開發(fā)框架有很多,在這里主要介紹當前比較流行的5款快速開發(fā)框架,并比較它們之間的優(yōu)缺點。主流快速開發(fā)框架種類如圖3所示。
圖3 Android快速開發(fā)框架
圖3中5款框架都是目前較為流行的框架,它們的優(yōu)缺點見表2。
表2 框架優(yōu)缺點對比
3.3 數(shù)據(jù)存儲技術(shù)
目前,無論什么平臺,通常的數(shù)據(jù)存儲方式有三種,它們分別是:文件、數(shù)據(jù)庫、網(wǎng)絡(luò)(云端)。其中,網(wǎng)絡(luò)端的存儲越來越成為主流。
對于Android平臺來講,它的存儲方式也不例外,也是文件、數(shù)據(jù)庫和網(wǎng)絡(luò)。但是,Android分得更細致,一共分為2類5種,第一類稱為內(nèi)部存儲:(1)SharedPreferences;(2)Internal/External Storage;(3)SQLite Database;第二類稱為外部存儲:(4)Internet;(5)ContentProvider。具體情況如圖4所示:
圖4 Android數(shù)據(jù)存儲技術(shù)
4.1 系統(tǒng)功能需求分析和設(shè)計
根據(jù)對整個系統(tǒng)的分析,主要采用了ThinkAndroid快速開發(fā)框架來完成這個系統(tǒng)的開發(fā)。
ThinkAndroid是一個免費的、開源的、簡易的、遵循Apache2開源協(xié)議發(fā)布的Android開發(fā)框架,其開發(fā)宗旨是簡單、快速地進行 Android應(yīng)用程序的開發(fā)。[7]
系統(tǒng)分為移動客戶端和服務(wù)器管理兩部分。在移動設(shè)備終端安裝的客戶端上,需要提供用戶登錄、接收管理任務(wù)、獲取管理項目信息、填寫管理狀況、管理信息匯總提交、歷史管理信息搜索等功能模塊,系統(tǒng)客戶端功能結(jié)構(gòu)組織。其功能組織結(jié)構(gòu)如圖5所示。
圖5 客戶端功能組織結(jié)構(gòu)圖
在系統(tǒng)后臺服務(wù)器管理端,需要為后勤設(shè)備負責人和系統(tǒng)管理員提供用戶管理、數(shù)據(jù)庫管理、管理任務(wù)安排下達、數(shù)據(jù)報表生成與分析、信息發(fā)布與管理等功能模塊。系統(tǒng)后臺功能結(jié)構(gòu)組織如圖6所示。
圖6 功能結(jié)構(gòu)組織結(jié)構(gòu)圖
4.2 數(shù)據(jù)庫設(shè)計
在前期對管理系統(tǒng)功能需求分析和系統(tǒng)所需信息數(shù)據(jù)資料匯總的基礎(chǔ)上,進行了系統(tǒng)數(shù)據(jù)庫及對核心應(yīng)用數(shù)據(jù)表的詳細設(shè)計工作。系統(tǒng)主要數(shù)據(jù)表及其依賴關(guān)系所構(gòu)成的系統(tǒng)數(shù)據(jù)庫模型如圖7所示。
圖7 系統(tǒng)數(shù)據(jù)庫模型圖
本系統(tǒng)設(shè)計主要包括兩大方面的內(nèi)容,一方面是系統(tǒng)后臺服務(wù)器端的管理和業(yè)務(wù)邏輯功能的設(shè)計與實現(xiàn),后臺服務(wù)器管理系統(tǒng)模塊是基于局域網(wǎng)絡(luò)的B/S架構(gòu)進行搭建;另一方面是Android移動智能設(shè)備上的客戶端設(shè)計與實現(xiàn),客戶端與服務(wù)器通過3G網(wǎng)絡(luò)技術(shù)實現(xiàn)信息交互。
系統(tǒng)服務(wù)器端主要功能分為用戶管理、管理任務(wù)管理、后勤設(shè)備信息管理、報表與數(shù)據(jù)分析等若干功能構(gòu)成。
5.1.1管理任務(wù)設(shè)置與管理模塊
管理任務(wù)的設(shè)置與管理包括任務(wù)建立、任務(wù)分配與調(diào)整、任務(wù)督促三個功能。管理任務(wù)的建立、分配、調(diào)整與督促工作是按時間順序有標準流程的工作活動,該項目工作由后勤設(shè)備負責人來全權(quán)負責完成,對一項目管理任務(wù)從建立到結(jié)束會遇到的各種情況都要進行考慮,系統(tǒng)對管理任務(wù)從生成到結(jié)束的整個設(shè)計流程如圖8所示。
圖8 管理任務(wù)設(shè)置與管理流程
5.1.2報表與數(shù)據(jù)分析功能模塊
該功能模塊包括報表生成與設(shè)備管理數(shù)據(jù)分析兩個子功能包,對這兩個子功能包分別設(shè)計了兩個類來實現(xiàn)相應(yīng)的處理報表與數(shù)據(jù)分析,其工作流程設(shè)計如圖9所示。需要說明的是,數(shù)據(jù)分析的輸出結(jié)果是調(diào)用EXCEL的數(shù)據(jù)生成圖表功能,可生成曲線、柱狀、餅狀等分析格式,方便領(lǐng)導(dǎo)開會進行管理工作分析時使用。
圖9 報表與數(shù)據(jù)分析程序流程圖
5.2 系統(tǒng)Android客戶端設(shè)計與實現(xiàn)
與服務(wù)器后臺對應(yīng),系統(tǒng)的客戶端是需要安裝在使用Android系統(tǒng)的移動智能終端上??蛻舳耸紫刃枰獙崿F(xiàn)的是如何與服務(wù)器建立連接并登錄系統(tǒng)進行工作。下面就客戶端系統(tǒng)的幾個主要功能:客戶端登錄、客戶端任務(wù)管理、客戶端管理任務(wù)執(zhí)行模塊進行詳細介紹。
5.2.1客戶端登錄模塊
客戶端登錄工作過程設(shè)計:客戶端軟件運行后直接進入登錄界面。在登錄界面輸入登錄信息,即用戶名和登錄密碼,連同客戶端設(shè)備碼一同發(fā)送到服務(wù)器端進行驗證;驗證通過后,會收到服務(wù)器發(fā)送的當前用戶最新任務(wù)安排與待完成任務(wù)列表,以便用戶進行具體的管理任務(wù)執(zhí)行工作。
5.2.2客戶端任務(wù)管理模塊
任務(wù)管理模塊功能設(shè)計為:管理員用戶在該模塊中選擇新安排任務(wù)查看其具體任務(wù)安排、對變更的任務(wù)進行確認、對已經(jīng)完成的任務(wù)進行標識、選擇某項具體任務(wù)進行執(zhí)行。執(zhí)行流程如圖10所示。
圖10 任務(wù)管理工作流程圖
5.2.3客戶端管理任務(wù)執(zhí)行模塊
由任務(wù)列表選擇執(zhí)行的具體管理任務(wù)后,系統(tǒng)列出任務(wù)涉及的具體后勤設(shè)備列表、任務(wù)完成時間、某項后勤設(shè)備的管理標準,管理員根據(jù)管理標準及設(shè)備的實時狀況進行管理信息的填寫,并可根據(jù)需要調(diào)用攝像頭進行拍照。所有管理項目完成后,還在該模塊完成本項管理任務(wù)所有管理信息的匯總與上報功能。管理任務(wù)執(zhí)行模塊工作流程設(shè)計如圖11所示。
圖11 管理任務(wù)執(zhí)行流程圖
Android系統(tǒng)下的APP開發(fā)是一項復(fù)雜的工程,它需要對Android系統(tǒng)原理進行深入的了解、相關(guān)的關(guān)鍵技術(shù)的熟練掌握才能開發(fā)出性能出色、系統(tǒng)穩(wěn)定的APP。本文在分析了Android體系結(jié)構(gòu)的基礎(chǔ)之上,針對Android平臺開發(fā)中所涉及到的關(guān)鍵技術(shù)進行了詳細的分析,然后以一個后勤管理系統(tǒng)開發(fā)為例,說明了Android應(yīng)用的開發(fā)方法。最后得出以下4點結(jié)論:
(1) 開發(fā)Android應(yīng)用程序時,合理選擇快速開發(fā)框架是一個代價小、效率高的選擇。
(2) Android的存儲方式有很多,在開發(fā)中應(yīng)該靈活使用多種存儲方式。
(3) 系統(tǒng)應(yīng)該開發(fā)出相應(yīng)的接口供其他軟件調(diào)用,以達到無縫對接其他系統(tǒng)的效果。
(4) 系統(tǒng)在實際工作中是基于3G無線網(wǎng)絡(luò)環(huán)境的,系統(tǒng)客戶端與服務(wù)器之間通過3G進行數(shù)據(jù)傳輸?shù)陌踩[患并沒有完全排除,本系統(tǒng)在安全性方面還需要接受實際工作的嚴格檢驗。
[1] 潘天德.基于Android平臺的高校國有資產(chǎn)管理系統(tǒng)的研究[J].輕工科技,2015(3):52-54.
[2] 徐偉,樊重俊,袁光輝,等.資產(chǎn)管理系統(tǒng)設(shè)計研究[J].電子商務(wù),2015(4):51-52.
[3] 碰國軍,李晶雯,孫潤康.Android惡意軟件檢測研究與進展[J].武漢大學(xué)學(xué)報:理學(xué)版,2015,61(1):21-33.
[4] 楊豐盛.Android應(yīng)用開發(fā)揭秘[M].北京:機械工業(yè)出版社,2010.
[5] 徐亮.基于Android的遠程控制系統(tǒng)[J].計算機工程,2013,39(11):280-285.
[6] Douglas S,WIlliara G,Ailene V,et al. Oraclesi數(shù)據(jù)庫開發(fā)技術(shù)與技巧[M].京京工作室,譯.北京:機械工業(yè)出版社,2002.
[7] white-cat/ThinkAndroid[EB/OL].(2010-03-01).https://github.com/white-cat/ThinkAndroid.
Development Method and Application Research of Mobile APP Based on Android Platform
HANWenzhi,LUOWenliang
(Department of Computer Science, Sichuan Vocational and Technical College, Suining 629000, China)
Android platform is an open-source development platform of mobile equipment based on Linux. Based on the analysis of Android platform system structure, the general development processes and main methods of the mobile APP are proposed, and the program characteristics of Android platform, the key technologies such as data storage technology, rapid development framework are described in detail. Taking the logistics management system development based on Android platform of a unit as an example, the development processes and implementation methods of demand analysis, database design, system background, mobile terminals and other modules are given, then, a friendly interface, stable running, easy maintenance and flexible application logistics management system is built, which helps the logistics equipment management work to be informationized, intelligent and real-timed.
Android platform; mobile APP development; the key technology
2015-05-15
四川省自然科學(xué)基金重點項目(15za0349)
韓文智(1966-),男,云南施甸人,副教授,主要從事計算機網(wǎng)絡(luò)與大數(shù)據(jù)方面的研究,(E-mail)562212867@qq.com
1673-1549(2015)03-0022-05
10.11863/j.suse.2015.03.05
TP311.11
A