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