摘要:随着市场的不断需求,Android操作系统越来越完善,由于时代的发展需要,App也逐渐成为市场空缺,App终端研究成为主流研究项目。该文对基于Android操作系统的移动终端App开发视角下进行深入细致的剖析,为相关领域从业人员提供一定理论指导和参考,更好地促进了在当前互联网不断发展普及背景下Android操作系统的移动终端App的开发工作创新。
关键词:Android操作系统;移动终端App;开发研究
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2022)04-0064-02
在我国市场上运行的操作系统中,Android操作系统起步较早,构建完善,受到了大部分国内厂商的喜爱,并与之展开深层次合作。在不断提升、完善Android操作系统性能的同时,被开发推出的移动终端App也越来越多,而如何基于Android操作系统更好地进行移动终端App的开发仍然有待研究。
1 Android系统
Android系统是一种移动操作系统,拥有以Linux内核为基础的开发平台。系统的架构包含了多层次,而相互独立的各层又包含了多内容。也是因为这一特点,开发人员可以更好地实现开发需求,提升开发的质量和效率[1]。而想要基于Android操作系统进行移动终端App的开发,需要熟悉Android的一些基本信息。
1.1 架构
1.1.1 Linux内核层
Android基础层是依靠Linux内核建立的,该层包含了几乎所有移动设备会用到的驱动程序,并帮助系统与硬件通信,其包含的驱动程序有:DisplayDriver、KeyBoardDriver、FlashMemoryDriver、CameraDriver、AudioDriver、BluetoothDriver、PowerManagement等。除此之外,它还会提供对内存、电源、系统进程、文件系统、USB的管理,合理分配处理系统运行资源、管理进程通信、保存运行状态。
1.1.2 系统运行库层
系统运行库层包含两部分,一是库文件,多为Android系统会用到的C或C++库文件,比如媒体库、SQLite。二是Android运行环境,也就是虚拟机技术,是运行Android应用程序时需要的核心库。
1.1.3 应用程序框架层
这是编写方发布的核心应用时需要使用的API框架,包括十个部分:活动管理器、窗口管理器、内容提供者、视图系统、通知管理器、包管理器、电话管理器、资源管理器、位置管理器、XMPP服务。开发人员可以使用其中的框架,也就是谷歌直接提供的库存来进行开发。只要遵循框架的开发原则,就可以简化进行架构设计的步骤,节省时间。
1.1.4 应用程序层
该层与基于Android操作系统的移动终端App直接相关,也就是Java语言来进行程序开发。
1.2 构件
1.2.1 活动(Activity)
这是开发中使用最频繁的构件,一个Activity就是一个单独窗口,并有运行中(Running/Active)、暂停(Paused)、停止(Stoped)、销毁(Detroyed)四种状态。彼此之间通过Intent通信,是用户操作时可视化的界面,基于Android操作系统的移动终端App中,能看见的都要依托于它。而要让系统识别并执行Activity,应用中每一个Activity都必须在AndroidManifest.xml配置文件中声明。
1.2.2 服务(Service)
它是移动终端App后台运行的解决方案,不依赖用户界面,可以长期保持正常运行,适合执行无须与用户交互且需长期运行的任务。与Activity十分类似,存在生命周期,也需要在AndroidManifest.xml配置文件中声明,只是没有窗口。另外值得注意的是,Service在独立进程中运行,不会自动开启线程,而是依赖创建服务时所在的移动终端App进程,其代码运行于主线程中。Service分启动(started)、绑定(bound)两种,启动方式也有startService、bindService两种,两两之间互相对应。当构件调用start Service方法启动,Service就处于启动状态,当调用bind Service方法绑定到Service,它就处于绑定状态。
2 App在Android操作系统中的应用、发展
因為固定用户人群数量多,多方进入了一个良性循环。比如Android手机的App在初期就拥有大批用户群,开发者即可获得大量利益,而要想得到利益,手机厂商需要与Android公司长期工作,开发者需要针对手机型号和Android系统开发并不断完善App。当Android系统在不断更新时,各种手机和App也在逐渐完善,用户得到的体验也越来越好。
在我国,基于Android操作系统的移动终端App在所有全新Android系统中都可以运行,适配所有Android智能设备。安装时无须付费,只要正规应用市场安装就没有各种木马病毒,而且App在源头上保障了用户的使用安全,充分保护了用户的隐私信息。更难能可贵的是,经过多年发展和不断淘汰,App的基本原则之一就是要符合国人使用习惯。各大应用市场也为此做出了不少改变和更新,界面简洁明了,个性化信息及时推送,一键下载安装,还有各种用户福利[2]。
3 基于Android操作系统的移动终端App开发
3.1 软件开发
3.1.1 数据存储
这是开发过程中的重要环节,而Android提供了多种技术方案供开发者使用,主要有五种:共享首选项(Shared Preferences)、内部存储(Internal Storage)、外部存储(External Storage)、SQLite数据库、网络存储。Shared Preferences使得开发者可以键值对的方式,通过该类提供的框架永久保存原始数据。即便是应用终止了,数据也可以跨多用户对话永久保留。
在使用时,需要先通过get Shared Preferences或是get Preferences方法获取Shared Preferences的对象。接着通过Shared Preferences对象的edit方法,获取一个一个Shared Preferences.Editor对象。当对象获取之后,调用put Boolean等方法添加值,并使用commit提交。最后在需要获取数据之处,使用Shared Preferences对象的get Boolean等方法读取值Internal Storage位于内部存储器分配的Internal Storage分区里,用于保存私有文件。当用户卸载App之后,该分区里的文件也会被清除。External Storage类似于公共分区,私密性不强,可以共享保存数据,既可以是内部存储器分配的External Storage分区,比如大家在手机“文件管理”中看到的“音乐”这种目录,也可以是可移动的外部存储介质,比如存储卡和硬盘。
SQLite数据库的核心思想与一般数据库相差无几,只是更轻量一些,是一个嵌入式关系型数据库。所以使用它的流程也就几步,先看数据库有没有打开,接着确认有无数据表,没有就进行创建。在创建的时候要记得添加“IF NOT EXISTS”,避免重复操作。当完成之后,就是常规的增删查改操作了[3]。最后操作完毕时,数据库进入close状态。网络存储则最为简单,就是通过网络实现数据存储与获取,只需要解析HTTP协议或者是调用Web Service的数据即可实现。
3.1.2 界面开发
这是开发中的基本内容,工期短、工作量小,但不可图快,不然即便功能开发得再好,应用也不会得到多好的反响。因为界面决定应用功能模块的分布,对于设计、开发的影响很大。更重要的是,它直接关系用户体验。界面就是第一印象,只有第一印象好了,用户才会有兴趣体验实际使用效果。所以对于界面的开发,要注意对资源的沟通和操作。
3.1.3 语音识别
这是一种改善人机交互的技术,简化操作,节省用户的时间,提升效率。用户只需要通过语音指令,就可以完成一些信息查询和Android智能设备操作。它可以说是人机接口中很关键的一步,相关市场发展迅速,相关的产业已经极具规模。要想在基于Android操作系统的移动终端App开发中利用技术并实现语音识别,需要借助一些商业解决方法,保证语音识别能力和速度维持在较高水平[4]。
3.1.4 AR、VR、AI
增强现实(AR)、虚拟现实(VR)和人工智能(AI)这三种皆为当下最前沿的技术,要想在开发过程中运用这些技术,需要依靠相应的硬件设备。
3.2 开发重点
由于Android继承了Linux的安全机制,开发之前就需要获得相应的权限,可通过添加标签和Manifest.xml文件进行操作。搭建用户界面,生产过程有两种:XML配置和直接使用代码,生产之后便是界面进行相关的UI设计和布局。最后需要了解各大构件以及通过数据存储获取各种资源文件。
4 基于Android操作系统的移动终端App开发安全环境
由于Android存在时间久,市场份额高,基于Android操作系统进行移动终端App的开发可以借鉴很多前辈开发者的经验。而且Android本身在设计上就考虑得很全面,借助该平台进行开发可以降低不少难度,工作量也会大大减少。但需要注意的是,Android的特点是开源,也就是提供一个开放的环境,并不会处处注重其他开发者可能对环境造成安全威胁的情况。相较于电脑这种桌面设备来说,移动智能设备受到的安全挑战更大,面临的情况更加严峻。所以开发者要注意管理和维护自身开发环境的安全,发现漏洞就要及时开展修补工作,开发的全程要保证安全性。
4.1 框架层安全
框架层安全需要借助Android的数字认证,也就是通过数字证书来保证安全。数字证书是SSL通信协议的核心,是安全领域的大招,由Certificate Authority发行,本质是一串数字,不过可以在互联网中标记各方的身份信息。
4.2 代码安全
开发者编写的代码要安全规范,对于软件质量和安全性来说都是基础。Android的开放性很强,终端开发容易遭受恶意攻击,代码也会被恶意反编译,所以对代码安全进行质量管控非常重要。开发者可以增加保护性的编程,通过混淆的代码来保护代码。在编程完毕之后,还要进行细致的安全审计。
4.3 权限管理
安卓在初期设计的时候就考虑到了权限方面的问题,并借鉴当时一些操作系统解决安全问题的经验,对于权限的设定、授予进行了规范。开发者若想對权限进行管理,可以借助Android manifest.xml等配置文件,或者通过内部的权利管理机制设定。另外,也要避免网络的隐藏威胁。如果要访问移动数据,需要加入运行访问的ACCESS NETWORK STATE条目。为防万一,在用户安装App时也要提醒用户检查权限,提前规避可能遇到的风险。
5 结束语
科学技术的不断发展给我们的生活带来极大便利,尤其是当今的信息化时代之下,各种智能设备的出现更是提高了我们的生活质量,同时也对发展提出了新的要求。正是在此基础之上,以Android操作系统为载体,推进移动终端App的开发研究显得尤为必要,除了提升人类的生产生活水平之外,也让移动终端App与Android操作系统更好地相适应,并推动着移动终端App的运用和Android操作系统的发展。
参考文献:
[1] 李登科,王聪华.基于Android操作系统的移动终端APP开发研究[J].电脑编程技巧与维护,2020(9):69-70.
[2] 唐翔.基于Android平台的某景点移动端旅游软件系统设计与实现[D].成都:电子科技大学,2020.
[3] 杨乐.基于权限的Android恶意软件检测方法研究[D].天津:天津理工大学,2020.
[4] 吴明瑞,王莉军.基于Android操作系统的移动终端APP开发研究[J].数字通信世界,2019(2):113.
收稿日期:2021-05-06
作者简介:姚雅峰,女,天津人,讲师,硕士,主要研究方向为计算机软件技术、计算机应用技术。