Android平台的移动APP开发方法与应用研究
2015-06-06韩文智骆文亮
韩文智, 骆文亮
(四川职业技术学院计算机科学系, 四川遂宁629000)
Android平台的移动APP开发方法与应用研究
韩文智, 骆文亮
(四川职业技术学院计算机科学系, 四川遂宁629000)
Android平台是以Linux为基础的、开源的移动设备开发平台。在分析Android平台体系结构的基础上,提出了移动APP的一般性开发流程及主要方法,并就Android平台的程序特点、数据存储技术和快速开发框架等关键技术进行了详细论述。以某单位基于Android平台的后勤管理系统开发为例,给出了需求分析、数据库设计、系统后台、移动终端等模块的开发流程和实现方法,构建了一个界面友好、运行稳定、易于维护和应用灵活的后勤管理系统,有助于实现后勤设备管理工作的信息化、智能化和实时化。
Android平台;移动APP开发;关键技术
引言
近年来, 随着移动互联网技术的蓬勃发展和智能手机及平板电脑等移动设备的迅速普及,基于3G 技术的移动互联网络应用也日渐增多。然而,目前大多数单位的后勤设备管理工作依然通过传统的PC客户端或者通过移动终端访问网站的方式来对后勤设备进行管理,管理人员一旦离开PC便无法获取相关后勤设备的实时信息,严重影响管理效率和管理水平[1-2]。因此, 建立移动平台的后勤管理系统APP,实现实时监管查询,提高后勤资产管理的工作效率是一个必然的趋势。
1 Android平台的体系结构分析
Android是Google开发的最新一代移动操作系统,它以Linux平台为核心,代码开源,支持强大的硬件配置和多种无线通信方式,主要用于智能移动终端,目前其最新版本已更新至Android5.0[3],其软件体系架构分为四层,从下往上它们分别是:Linux内核、系统运行库(Libraries)、应用程序框架(Application Framework)以及应用程序(Application),其结构如图1所示。
图1 Android体系结构图
在图1中可以看出,Android体系结构是分为四层的,其中用蓝色标注的是由Java语言编写的应用程序,黄色标注的代表运行Java程序所需要的Dalvik虚拟机,绿色标注的则是由C和C++语言编写的程序库,最后,红色标注的是Linux内核和相关驱动。
2 Android软件开发流程
由于Android操作系统的内核是基于Linux系统的,且主要使用Java作为开发语言(C/C++在一些特殊的应用场合会用到,如图形图像开发、加密解密算法以及视频音频解码等),故而如果要在非Linux平台下开发Android程序,需要做相关的准备工作[4]。Windows平台下所需要的开发工具见表1。
表1 搭建Android环境所需工具
由于Google在2013年I/O大会上发布了Android Studio,故而在开发Android应用程序时,除了使用Eclipse以外,还可以使用Android Studio来开发Android APP。使用Android Studio开发APP,更加方便[5]。具体的开发环境搭建流程如图2所示。
图2 Android开发环境搭建流程
3 Android平台下移动APP的关键技术
Android应用程序主要是使用Java语言编写,但是由于Android应用程序是手机端程序,它与PC端的程序开发是有所区别的[6]。开发Android移动APP时,需要注意如下几个关键点。
3.1 Android程序的特点
(1)每个应用都有属于自己的Linux进程;(2)每个进程都运行于一个Dalvik虚拟机中;(3)通过Linux的权限设置,可以控制应用的访问权限;(4)在某些情况下,可以让多个应用共享一个Linux进程。
3.2 快速开发框架技术
选择一款快速开发框架是开发Android信息类管理系统的非常有效率且省成本的方式。目前,国内外相关的Android快速开发框架有很多,在这里主要介绍当前比较流行的5款快速开发框架,并比较它们之间的优缺点。主流快速开发框架种类如图3所示。
图3 Android快速开发框架
图3中5款框架都是目前较为流行的框架,它们的优缺点见表2。
表2 框架优缺点对比
3.3 数据存储技术
目前,无论什么平台,通常的数据存储方式有三种,它们分别是:文件、数据库、网络(云端)。其中,网络端的存储越来越成为主流。
对于Android平台来讲,它的存储方式也不例外,也是文件、数据库和网络。但是,Android分得更细致,一共分为2类5种,第一类称为内部存储:(1)SharedPreferences;(2)Internal/External Storage;(3)SQLite Database;第二类称为外部存储:(4)Internet;(5)ContentProvider。具体情况如图4所示:
图4 Android数据存储技术
4 实例:后勤管理的移动APP应用开发
4.1 系统功能需求分析和设计
根据对整个系统的分析,主要采用了ThinkAndroid快速开发框架来完成这个系统的开发。
ThinkAndroid是一个免费的、开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速地进行 Android应用程序的开发。[7]
系统分为移动客户端和服务器管理两部分。在移动设备终端安装的客户端上,需要提供用户登录、接收管理任务、获取管理项目信息、填写管理状况、管理信息汇总提交、历史管理信息搜索等功能模块,系统客户端功能结构组织。其功能组织结构如图5所示。
图5 客户端功能组织结构图
在系统后台服务器管理端,需要为后勤设备负责人和系统管理员提供用户管理、数据库管理、管理任务安排下达、数据报表生成与分析、信息发布与管理等功能模块。系统后台功能结构组织如图6所示。
图6 功能结构组织结构图
4.2 数据库设计
在前期对管理系统功能需求分析和系统所需信息数据资料汇总的基础上,进行了系统数据库及对核心应用数据表的详细设计工作。系统主要数据表及其依赖关系所构成的系统数据库模型如图7所示。
图7 系统数据库模型图
5 系统设计与实现
本系统设计主要包括两大方面的内容,一方面是系统后台服务器端的管理和业务逻辑功能的设计与实现,后台服务器管理系统模块是基于局域网络的B/S架构进行搭建;另一方面是Android移动智能设备上的客户端设计与实现,客户端与服务器通过3G网络技术实现信息交互。
5.1 系统后台管理功能设计与实现
系统服务器端主要功能分为用户管理、管理任务管理、后勤设备信息管理、报表与数据分析等若干功能构成。
5.1.1管理任务设置与管理模块
管理任务的设置与管理包括任务建立、任务分配与调整、任务督促三个功能。管理任务的建立、分配、调整与督促工作是按时间顺序有标准流程的工作活动,该项目工作由后勤设备负责人来全权负责完成,对一项目管理任务从建立到结束会遇到的各种情况都要进行考虑,系统对管理任务从生成到结束的整个设计流程如图8所示。
图8 管理任务设置与管理流程
5.1.2报表与数据分析功能模块
该功能模块包括报表生成与设备管理数据分析两个子功能包,对这两个子功能包分别设计了两个类来实现相应的处理报表与数据分析,其工作流程设计如图9所示。需要说明的是,数据分析的输出结果是调用EXCEL的数据生成图表功能,可生成曲线、柱状、饼状等分析格式,方便领导开会进行管理工作分析时使用。
图9 报表与数据分析程序流程图
5.2 系统Android客户端设计与实现
与服务器后台对应,系统的客户端是需要安装在使用Android系统的移动智能终端上。客户端首先需要实现的是如何与服务器建立连接并登录系统进行工作。下面就客户端系统的几个主要功能:客户端登录、客户端任务管理、客户端管理任务执行模块进行详细介绍。
5.2.1客户端登录模块
客户端登录工作过程设计:客户端软件运行后直接进入登录界面。在登录界面输入登录信息,即用户名和登录密码,连同客户端设备码一同发送到服务器端进行验证;验证通过后,会收到服务器发送的当前用户最新任务安排与待完成任务列表,以便用户进行具体的管理任务执行工作。
5.2.2客户端任务管理模块
任务管理模块功能设计为:管理员用户在该模块中选择新安排任务查看其具体任务安排、对变更的任务进行确认、对已经完成的任务进行标识、选择某项具体任务进行执行。执行流程如图10所示。
图10 任务管理工作流程图
5.2.3客户端管理任务执行模块
由任务列表选择执行的具体管理任务后,系统列出任务涉及的具体后勤设备列表、任务完成时间、某项后勤设备的管理标准,管理员根据管理标准及设备的实时状况进行管理信息的填写,并可根据需要调用摄像头进行拍照。所有管理项目完成后,还在该模块完成本项管理任务所有管理信息的汇总与上报功能。管理任务执行模块工作流程设计如图11所示。
图11 管理任务执行流程图
6 结论
Android系统下的APP开发是一项复杂的工程,它需要对Android系统原理进行深入的了解、相关的关键技术的熟练掌握才能开发出性能出色、系统稳定的APP。本文在分析了Android体系结构的基础之上,针对Android平台开发中所涉及到的关键技术进行了详细的分析,然后以一个后勤管理系统开发为例,说明了Android应用的开发方法。最后得出以下4点结论:
(1) 开发Android应用程序时,合理选择快速开发框架是一个代价小、效率高的选择。
(2) Android的存储方式有很多,在开发中应该灵活使用多种存储方式。
(3) 系统应该开发出相应的接口供其他软件调用,以达到无缝对接其他系统的效果。
(4) 系统在实际工作中是基于3G无线网络环境的,系统客户端与服务器之间通过3G进行数据传输的安全隐患并没有完全排除,本系统在安全性方面还需要接受实际工作的严格检验。
[1] 潘天德.基于Android平台的高校国有资产管理系统的研究[J].轻工科技,2015(3):52-54.
[2] 徐伟,樊重俊,袁光辉,等.资产管理系统设计研究[J].电子商务,2015(4):51-52.
[3] 碰国军,李晶雯,孙润康.Android恶意软件检测研究与进展[J].武汉大学学报:理学版,2015,61(1):21-33.
[4] 杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010.
[5] 徐亮.基于Android的远程控制系统[J].计算机工程,2013,39(11):280-285.
[6] Douglas S,WIlliara G,Ailene V,et al. Oraclesi数据库开发技术与技巧[M].京京工作室,译.北京:机械工业出版社,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-),男,云南施甸人,副教授,主要从事计算机网络与大数据方面的研究,(E-mail)562212867@qq.com
1673-1549(2015)03-0022-05
10.11863/j.suse.2015.03.05
TP311.11
A