Android开发常用技术初探

时间:2022-06-03 05:10:57

Android开发常用技术初探

摘 要:在移动互联网时代的进程中,智能设备快速普及,手机的使用遍及人们生活的各个角落,影响着人们的学习,工作和娱乐。如今,Android在手机市场份额中遥遥领先,所以Android应用程序成为了市场的主流应用。Android开发技术也随着开发者们的探索不断进步,文章简要分析了Android应用程序开发的常用技术。

关键词:Android;开发;技术

1 Android平台简介

Android系统于2007年,是由Google公司开发的,基于Linux内核的,开源的软件平台[1]。Android诞生至今的几年时间里,手机厂商,开发者,用户之间形成了一个完整的生态系统。如今,Android已经了二十几个版本了,深受大众喜爱。商场研究公司Strategy Analytics公布的最新数据显示,今年第三季度(6月下旬至9月下旬)Android手机的全球市场份额达到了创纪录的87.5%。

Android采用层次化架构,由底层往上分为4个主要功能层:(1)Linux内核层(Linux Kernel),为Android设备的硬件提供了底层驱动。(2)系统运行库层(Libraries和Android Runtime),使用了一些C/C++库,为Android系统提供了主要的特性支持。(3)应用框架层(Applicathin Framework),主要提供了构建应用程序可能用到的各种API。(4)应用层(Applicathin),包括系统自带的程序,开发者构建的程序,所有安装在Android手机上的程序,都是属于这一层的。

2 Android开发的常用技术概述

在Android应用程序的开发中,由于应用类型不同,使用场景各异,相应的,所运用到的技术会有不同。但是最为基础也最常用到的有以下几种:

2.1 数据存储

我们日常使用的微信,微博等应用程序都在不停的和数据打交道,没有数据的应用就相当于空壳子,对用户来说毫无意义,所以数据存储是必须解决的问题。我们可以通过3种方式来对Android应用程序开发中的数据进行处理:

2.1.1 文件存储。Android中最基本的数据存储方式就是文件存储,使用文件存储时,内容不会被格式化处理,所有数据直接保存在文件中,所以它适合用来处理一些简单的文本数据,或者二进制数据。

2.1.2 SharedPreferences 存储。 有时候需要保存应用的一些常用配置,但无需了解它到底如何保存的,保存在了何处,这时候就可以使用SharedPreferences键值对存储。SharedPreferences还有另外一个用途,即数据的共享,包括同一个应用程序中的不同组件,或者不同应用程序之间。比如两个activity想要传递数据,除了使用Intent之外,也可以通过SharedPreferences来共享数据。

2.1.3 SQLite数据库存储。Android平台集成了SQLite,这时一款轻量级的关系型数据库,运算速度快,资源占用率低,通常占用的内存不到1MB,因而特别适合用于移动设备[2]。正因为将强大的SQLite数据库嵌入到系统当中,Android的数据存储功能有了质的飞跃。SQLite支持SQL标准语法,遵循ACID事务,所以只要有其他关系型数据库的使用经验,就可以很快上手SQLite,本文将不多做介绍。

2.2 多媒体播放

2.2.1 播放音频。Android多媒体框架中提供了一个功能强大的类,MediaPlayer。该类用来处理多种音频格式,并且提供了全面的控制方法。通过MediaPlayer,开发者可以轻松地获取,解码和播放音频。还有一个类的CPU资源占用比MediaPlayer少,延迟更低,它就是SoundPool类。因为它的特性,常用SoundPool来播放一些短促,密集的游戏音效。

2.2.2 播放视频。当需要播放视频时,Android也提供了一个集视频显示和控制于一身的类,VideoView。它的用法和MediaPlayer类似,借助它就可以进行一些简单的视频播放操作。

2.3 W络技术

在这个手表,眼镜,汽车都可以连接互联网的时代,相信几乎没有人愿意忍受不能上网的应用了吧,人们日常接触最多的QQ,微博,微信等应用,都大量运用了网络技术。

Android最常用的就是,在客户端使用HTTP协议与服务器端进行网络交互。其工作原理非常简单,首先客户端会响入伍前发出一条HTTP请求,接着服务器会返回数据,然后客户端再进行解析。是不是很简单?当然,仅靠三言两语肯定无法道出HTTP的奥妙,开发者还需要继续深入分析。

2.4 多线程编程

开发者对于多线程编程一定不会陌生,因为线程在应用程序的开发中不可或缺[3]。那么Android应用程序开发中,多线程起到什么作用呢?

当我们需要执行一些耗时操作,比如发起一条网络请求,因为网速或其他原因,服务器未必立即响应,这时将这类操作放在子线程中,就可以避免主线程被阻塞,从而保证用户正常使用应用程序。

一个常见的例子就是,当网络游戏登陆时,画面上显示动画或进度条,后台进程链接服务器。可见线程可以应用到Android游戏开发当中,当然,线程的作用不仅限于此。

2.5 LBS

LBS就是基于位置的服务。其实很多年前,人们就已经开始利用无线电通讯网络或者GPS进行定位了,所以LBS本身并不是新潮的技术,那它为什么在最近几年大行其道呢?

因为,相比之前仅仅对设备进行定位,如今有了Android平台,我们可以利用定位出的位置进行查询路线,分享位置信息等操作,使得LBS技术迅速流行起来。

因为一些特殊原因,虽然Android提供了相应的API支持,但是国内开发者通常不使用GPS定位和网络定位这两种方式,而更多借助第三方公司提供的SDK,比如高德地图或百度地图。

3 结束语

随着通信技术的飞速发展,现状的手机用户量已经远远超过PC用户量,Android应用产业在这样的环境中迅速崛起,Android目前在手机市场中占据了巨大的份额,远超其他系统,是最主流的智能手机平台。毫无疑问,Android应用程序开发的前景是非常广阔的,本文仅简要介绍了Android开发的几种常用技术,要想成为优秀的Android开发者,还需要进行更为深入的研究。

参考文献

[1]陈晓男,张海越.Android系统的分析与研究[J].数字技术与应用,2013(10):118+121.

[2]郭霖.第一行代码-Android(第2版)[M].北京:人民邮电出版社,2016.

[3]解攀科.基于Android的移动学习系统设计与实现[D].华中师范大学,2011.

作者简介:蒙华(1994-),男,仫佬族,广西环江,桂林航天工业学院,软件工程专业,本科生在读。

上一篇:浅析甘肃省康县周家坡铜矿成矿 下一篇:基于Solidworks和Ansys桁架结构建模的研究