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