admin 管理员组

文章数量: 1184232


2024年3月18日发(作者:能编辑python程序的软件)

基于Android系统的APP开发

作者:马颜军

来源:《科技与企业》2015年第22期

引言

Android(安卓),是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机

和平板电脑,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与

开发中。Android已发布的最新版本为Android 6.0(Android M)。

Google重新设计了Java虚拟机,使得Android的java应用更加接近于底层技术,运行效

率更高,安全性也进一步提高。2007年11月,Google以Apache免费开放原始码许可证的授

权方式,发布了Android的原码,让生产商推出搭载Android的智能手机,使得Android系统

成为首个为移动终端打造的真正开放和完整的移动平台。Android系统作为一种自由的开源代

码的操作系统,具有丰富的功能,是一款发展最为迅速的操作系统。此外,Android系统还具

有开放性、丰富的硬件选择、不受任何限制的开发商以及无缝结合的Google应用的特性。

1、Android系统架构

Android的系统架构和其操作系统一样,采用了分层的架构。Android系统共分为四层,从

高到低依次是应用层、应用框架层、系统运行库层和Linux核心层。

1.1应用层

运行在虚拟机上的程序,Android会同一系列核心应用程序包一起发布,该应用程序包包

括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程

序都是使用JAVA语言编写的。

1.2应用框架层

该层是编写Google发布的核心应用时使用的API框架,开发人员同样可以使用这些框架

来开发自己的应用,这样便简化了组件的重用,任何一个应用程序都可以发布它的功能块并且

任何其它的应用程序都可以使用其所发布的功能块,但是必须遵守其框架的开发原则。

1.3系统运行库层

该层主要包含C/C++库和Android运行库。当使用Android 应用框架时,Android系统会通

过一些C/C++库来支持开发过程中使用的各个组件,使其能更好地为程序开发服务。Android

运行库主要包括一个核心库,提供了JAVA编程语言核心库的大多数功能。

1.4Linux 内核层

该层包含了各个模块的驱动及 Linux系统核心驱动。Android 的核心系统服务依赖于Linux

2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬

件和软件之间的抽象层。

2、Android系统开发环境搭建

对于绝大多数开发者而言,开发Android应用层的软件,主要使用的语言是Java。主流的

开发工具是以Java语音为基础的Eclipse和Android Studio。Eclipse是一个开放源代码的、可

扩展的开发平台,Android Studio是谷歌在2013年I/O大会上新推出的Android开发环境,类

似Eclipse ADT,Android Studio提供了集成的Android开发工具用于开发和调试。在Android

Studio开发环境中,开发者可以在编写程序的同时看到自己开发的应用在不同尺寸屏幕中的样

子。Eclipse 是目前为止最为先进和流行的开发工具之一,Eclipse的开发效率高于其他的开发

工具,而且使用操作起来比较方便快捷。对于Eclipse开发工具而言,搭建Android开发环境

主要分为四步,第一步搭建Java环境,第二步安装Eclipse和插件 ADT,第三步安装Android

SDK,第四步配置Android AVD。

3、基于Android系统的电影网客户端实现

3.1电影网简介

电影网(),对于爱看电影的小伙伴们来说,肯定不陌生。它是CCTV-6电影

频道投资建立的电影行业门户网站,也称为CNTV。电影网创立于2004年,自创立以来,凭

借专业的内容和服务,深受广大网民喜爱。

3.2电影网访问

电影网的访问,是指获取电影网网页上显示的数据。电影网服务器端给开发人员分配用户

名和密码,开发人员通过基于REST的方式访问服务器端的数据。

电影网数据包括视频类型、视频列表、视频详细、视频搜索结果等四种类型的数据。这些

数据的访问,都要经过以下三个步骤访问。第一步,根据获取数据的不同,构建不同的

URL;第二步,通过HTTP请求访问该URL,得到服务器返回的xml形式的数据;第三步,

从xml文件中解析出需要的数据。对于Android来说,能够使用的资源文件类型很多,比如

XML、JPEG等文件格式都是支持的,所以,在程序运行过程中,解析这些资源,然后可以转

换成不同的格式。所以在Android系统中可以很容易的处理服务器返回的这些数据,供UI显

示使用。

下面分别说明获取电影网不同数据内容的方法以及部分核心代码。(URL中详细的网址

情报、用户名和密码,用xxx来表示)。

3.2.1获取视频类型数据

获取视频类型数据,需要构建的URL为

“http:///Data?func=bar&user=xxx&pwd=xxx”。获取视频类型数据的主要代码如

下。

服务器返回的视频类型数据的格式如下,从该格式的文件中解析出需要的数据供程序使

用。

3.2.2获取视频列表数据

获取视频列表数据,需要构建的URL为

“http:///Data?func=list&user=xxx&pwd=xxx&page=?1&pagesize=?

2&groupid=?3”。其中,page=?1,表示要获取视频的页数;pagesize=?2,表示获取的视频

个数;groupid=?3,表示获取的视频类型。?1、?2和?3是开发人员根据需求,需要指定的

数据。数据获取代码与前面的类似,不再做说明。服务器返回xml格式的视频列表数据。

从xml标签名可以很容易看出各种数据的含义。其中关于视频的缩略图,需要根据缩略图

地址下载后使用。

3.2.3获取视频详细数据

获取视频详细数据,需要构建的URL为

“http:///Data?func=detail&user=xxx&pwd=xxx&filmno=?1”。其中,filmno=?

1,表示要获取详细情报的视频的filmno。每个视频都有唯一的filmno与之对应,该值可从视

频列表数据中获取。?1是需要开发人员指定的数据。

数据获取代码与前面的类似,不再做说明。解析视频详细数据的核心代码如下。

该段代码利用DOM解析器从xml文件中解析出需要的数据,比如视频名称、视频缩略

图、视频url地址等数据,然后将数据以list的形式返回。该xml文件中,还有一个与视频下

载相关的重要信息,即视频的真实地址。如果要将电影网的视频下载到本地,只有使用该地址

才可以实现下载。

3.2.4获取搜索结果数据

获取搜索结果数据,需要构建的URL为

“http:///Data?func=search&user=xxx&pwd=xxx&page=?1&pagesize=?2&py=?

3”。其中,page=?1,表示要获取视频的页数;pagesize=?2,表示获取的视频个数;py=?

3,表示搜索关键字的拼音首字母,比如,想搜索电影‘金刚侠’,则py=jgx。?1、?2和?3

是开发人员根据需求,需要指定的数据。搜索返回的数据与前面提到的视频列表数据的内容相

同,做类似的处理即可。

通过构建请求数据的URL,在Android系统中发送HTTP请求,可以获取需要的xml格式

的数据,解析xml数据,即可得到电影网客户端所需的各种数据。

4、结束语

随着科技的不断发展,智能手机不再只是简单的通信工具,而是一个多媒体平台,可提供

强大的多媒体功能,基于Android系统的手机软件的开发越来越受到广大开发者的青睐。本文

对Android系统架构、开发环境搭建进行了简要分析,并通过电影网服务商提供的URL,将电

影网的客户端应用加入到Android系统中。

(作者单位:辽宁警察学院)


本文标签: 数据 视频 开发 系统 获取