Android平台软件开发方法综述

2020-08-31 01:38郝强
软件工程 2020年8期
关键词:Android平台软件开发

郝强

摘  要:随着计算机技术和信息技术的不断进步和发展,人们信息获取的方式也发生了很大的变化。智能手机作为一种比较便捷的现代化通讯工具,功能越来越强大,在人们的生活中扮演着较为重要的作用。而Android平台的软件程序保障了智能手机的一系列软件功能的实现。相比于其他系统软件,Android平台具有着便捷性、开放性的优点,能够让用户量的良好的体验,在市场上占有着重要的地位。本文首先分析了Android平台软件的优势,阐述了应用程序开发过程中的重点,探索了Android软件开发方法的构建流程,以及平台应用组件。

关键词:Android平台;软件开发;通讯工具;构建流程

中图分类号:TP309     文献标识码:A

Abstract: With the continuous development of computer science and information technology, the way people get information changes greatly. Smart phone, as a convenient modern communication tool, is playing an important role in people's life with its ever-increasing functions which are realized through software programs run on Android platform. Compared with other system software, Android platform has advantages of convenience, openness, and user-friendliness. This paper first analyzes the advantages of the Android platform software, expounds the key points in the development process, and explores the construction process of the Android software development method, as well as the platform application components.

Keywords: Android platform; software development; communication tools; the build process

1   引言(Introduction)

随着移动互联网技术的快速发展,手机成为移动互联网的比较重要的承载设备,且在人们的信息交流中发挥着重要的作用。而技术的不断进步,与人们交往方式的不断变化,人们对手机功能的需求也发生了很大的变化。智能手机需要操作系统平台的支撑。要想满足市场不断变化的需求,就要对手机平台软件进行深度研发,而对智能手机平台的研发也逐渐成为科技工作者和用户关注的重要领域。Android平台软件是2007年由Google开发设计而推出的平台软件,这个平台软件是专门为移动设备进行设计的,具有着独特的优点,挣脱了运营商的束缚和选择,硬件选择也比较丰富,系统兼容性好,突破了传统平台软件的各种限制,也让用戶体验到了最有的移动服务[1]。

2   Android平台软件的优势(Advantages of Android platform software)

Android平台软件突破了传统软件对运营商,以及硬件的各种限制。有着多方面的优势,受到了市场的青睐,以下是Android平台软件的优势分析。

2.1   简单易用

Android是由Linux+Java构成的开源软件,允许所有厂商和个人在它的软件基础上进行开发,且很逗系统价法人员和架构师,对开源开发技术都比较熟悉,所以开发起来比较容易。同时,Android平台软件支持不同的硬件,这从Google与34家厂商联合推出移动互联系统时便已知晓。且安卓手机开发者,以及手机生产厂商都可以向用户提供所需的硬件,这与苹果Mac操作系统相比,在硬件丰富度方面有着鲜明的对比[2]。

2.2   灵活开放

Android平台软件一个最大的特点就是其具有开放性的特点,这也是其作为以开源软件所具备的灵活性的特征,能够为特定的软件提供更加个性的设计。开发者能够根据企业和用户的需求对软件进行改进,以促进其商业价值最大化的发挥。

2.3   易于开发

Android应用开发提供了Java、C#和Cplusplus等接口,尤其是向Java应用开发者提供了一套完整的应用系统解决方案,Java软件工程师能够方便地开发系统,为用户提供个性化的软件[3]。

3  应用程序开发过程中的重点(Focus on the application development process)

3.1   权限获取

在Android系统中,在一般的情况下,应用程序是不会直接访问或者操作其他应用程序的,不会对其他的应用程序带来干扰,且这个程序没有响应的权限进行这些操作。这样以来不会对用户的隐私和数据带来一些安全隐患。然而,Android可以对存在相关联的权限进行相应的操作,所以要注意对权限的命名,以获取到相应的信息[4]。如果没有关联相应的权限,则不能进行关联性的操作。比如对自动执行访问,对用户联系人访问,以及对记事本进行访问,需要对权限进行命名,才可以保持相应的关联。此外,特别注意的是AndroidManifest.xml文件是支持权限的,添加标签在AndroidManifest.xml文件中,对相关权限进行声明,用户则可对相关的网页和应用进行访问。BroadcastReceiver权限和Activity权限是目前比较常见的权限。

3.2   Android用户界面的构建

Android用户界面的构建是应用程序开发过程中的重点之一,目前Android界面生成方式主要有两种,分别是使用代码直接生成的界面,以及由XML配置生成的界面。UI界面一般是利用XML进行定义,而利用XML有着较大的优点,可以顺利实现页面向另一个页面的自由切换。目前Android系统中的基本作用是Activity,这个程序并不会直接显示在屏幕上,要想在屏幕上进行显示,就必须对UI进行设计,并通过Android平台中的用户界面来实现对其功能的表现,一般使用的表达元素有View、Viewgroup等。此外,对页面的布局方法一般由相对布局、表格布局、线形布局这几种方法[5]。

3.3   资源获取和使用

资源指的是外部的文件,Android平台软件上能够支持多种类型的资源文件,像XML、JPEG、PNG等格式的文件,都可以在这个平台上读取到。当程序运行时,这些资源文件会被读取和解析,还可以转换成其他不同类型的格式[6]。此外,Android平台还能够对应用程序代码进行跟踪,现在的技术手段还可以对非代码形式的资源进行跟踪,程序可以看到用户对资源的使用情况,以此实现数据的收集和定位跟踪[7]。程序员只要将数据资源录入到相应的程序中,或者是代码目录中,再进行编译工作,则就可以明确获取资源的使用状况。

4  Android软件开发方法的构建流程(The construction process of the Android software development method)

4.1   Android软件平台搭建

对Android软件平台进行搭建,首先要做的是环境搭建工作,先安装JDK软件,安装完成后,要进行多次反复的检查,确保无误后,下一步则进行Eclipse程序的安装工作,再进行反复的检查,使用Eclipse来实现应用开发,需要安装的软件如表1所示。之后进行Eclipse程序的安装,再安装ADT程序,同样要进行反复检查。在以上程序都安装成功并进行反复检测无误后,开始AVD系统的创建,方可正式投入到Android软件的开发工作中来。

4.2   Android软件启动流程

Android软件的启动的实现,首先要对启动Initial进程,通过内核的载入,全部清除原始数据,对数据结构进行完善,并完成脚本文件的初始化,以进入到进程的引导工作中来。其次是启动Native服务,构建一个独立的操作系统运行空间,对虚拟机中模拟搭建的函数进行运行操作,并完成对系统中的服务请求的接收。之后对Android系统自带的服务程序进行启动,建立起虚拟服务功能的框架,在此基础上实现AddService服务的搭建个动作。最后一个环节则是Home功能的启动工作,这个过程能够让操作者的指令被通知到各个系统中,这是利用软件之间的相互联系作用实现的[8]。通过以上四个过程,Android软件的加载工作就可以实现了,这也显示出Android软件平台软件得以开发和应用成功。

5  Android平台软件应用组件(Android platform software application components)

5.1   Activity组件

Activity组件是Android平台软件中比较基础的一个组件,也是开发中比较常见的开发对象。一般来说一个Activity文件与一个界面相对应,通过这种对应关系,进而实现与用户之间的交互。程序流程大多是在不同的Activity之间运行的。Activity的基本状态主要有四种。一是Active/Running,这被称为激活态,它处在屏幕的最前端,能够与用户进行直接交互;二是Paused,也被成为暂停态,这个状态代表着Activity失去焦点,此时Activity不能够与用户进行交互;三是Stopped,代表的是停止态,此时Activity界面处于不可见的状态,这个状态下一般是系统收回了紧张的系统资源;四是Killed,也就是死亡态,此时Activity将会被系统从内存中清除掉。

5.2   View(視图)

Android的用户界面是一系列的视图树构组成的。接口都是由一组以树的形式出现View的组成的。软件开发者可以对图形处理技术进行自定义,就可以通过创建一个新的View来实现,像游戏开发,亦或者已经运用了自定义的图形窗口界面。

5.3   Intent

Intent代表的是消息对象,表示程序想要获取某种资源的一种“意图”,比如应用程序想要查看某个网址或者某个图片,就可以创建一个Intent实例,并将其传达给系统,并可以获取到相应的浏览网址和内容,在进行运行。

5.4   Service组件

Service组件是一项服务性的组件,是由在后台运行的一段代码组成的,其运行状态是不可见的。Service组件能够根据自身的需要,可以在自己的进程中运行,也可以运行在其他应用程序中。Service组件包含两种服务类型,分别是本地服务和远程服务。本地进程一般是依附在主进程中的,这样以来大大节省了系统资源。但是当主进程停止运行后,Service也就跟着相应停止了。bindService和context.startService是Service组件的两种启动方式。同时,Service也有着自己的生命周期,主要经历四个阶段,分别是onCreate、onStart、onDestroy、onBind。Service组件常常被用于数据处理,像播放背景音乐,从网络中获取远程数据都属于Service应用范畴。

5.5   BroadcastReceiver组件

BroadcastReceiver组件的存在主要是为了接收系统中的广播信息,系统开发者可以根据不同的广播类型从而进行广播机制的设定。在进行Android软件开发时,对BroadcastReceiver组件的应用进行熟练地把握是比较重要的。BroadcastReceiver组件也存在着生命周期,包含三个进程,分别是创建BroadcastReceiver对象、调用onReceive方法,以及广播销毁。

5.6   ContentProvider组件

ContentProvider组件是一种共享的组件机制,能够实现不同数据之间的共享。像在发短信时,在选择联系人时,ContentProvider组件就可以发挥自己的作用,为系统提供极大的便利性。Android平台以URI的形式为每项资源提供了资源名,这些形式和“content://应用程序的标准前缀/URI标识/路径/需要获取的记录的ID”是极其相似的。ContenProvider就是在URI基础上实现的。ContentProvider数据共享是通过接口中的标准方法实现的。onCreate、update、query、insert、delete等是常见的操作方法。

5.7   Sqlite数据库

Android平台大致有五种数据存储方式,分别是SQLite、网络、文件、SharedPreferences,以及外部存储。SQLite数据库则有着自身的优点,是一种比较好的選择,SQLite数据库占用的空间资源比较少,在Android系统平台中发挥了重要的作用。对SQLite数据库的应用主要是通过execSQL方法对QLiteOpenHelper进行SQL语句操作。且这种存储方式操作比较简单,可以顺利实现新建、查询、删除,以及更新等相关的操作。

6   结论(Conclusion)

总而言之,Android软件平台技术在智能手机中发挥了重要作用,目前使用比较广泛,且技术被不断的创新和发展,有着广阔的发展前景。同时Android软件平台相比着其他软件有着较多的优点,无论是在硬件方面,还是在供应商方面,其不受到相关的约束和限制,有着较强的实用性。随着信息技术的不断技术,Android软件平台的技术的开发将会朝向科学性和实用性统一的方向发展,且更加符合用户的实际需求。

参考文献(References)

[1] 王萌.基于Android平台软件开发方法的研究与应用[J].中国新通信,2015(18):3-4.

[2] 殷涛,崔佳冬.基于Android软件开发组件化研究[J].计算机应用与软件,2019(09):10-12.

[3] 赵东方.探究Android平台软件开发方法的研究与应用[J].信息技术与信息化,2017(09):6-8.

[4] 夏玮.基于Android平台软件开发方法研究[J].电子技术与软件工程,2016(06):23.

[5] 曾文韬.Android APP自动化专项测试工具的设计与实现[D].内蒙古大学,2019:16.

[6] Atefeh Nirumand, Bahman Zamani, Behrouz Tork Ladani. VAnDroid: A framework for vulnerability analysis of Android applications using a model-driven reverse engineering technique[J]. Software: Practice and Experience, 2019(1): 10-12.

[7] 乔婷.试论Android平台下软件开发的关键技术[J].电子技术与软件工程,2015(21):9.

[8] 曾文韬.Android APP自动化专项测试工具的设计与实现[D].内蒙古大学,2019:41.

作者简介:

郝  强(1981-),男,硕士,讲师.研究领域:软件开发,信息研究.

猜你喜欢
Android平台软件开发
基于Android平台软件开发技术研究
基于Android平台的人脸识别系统设计与实现
基于Android平台的健康医疗APP设计与开发
信息安全环境下的计算机软件开发研究
Android手机主题设计 
基于Android的Python语言英汉维电子词典设计与实现
核电厂定期试验管理软件开发
FPGA软件开发过程中编码规范的作用