基于Android的移动终端应用程序开发与研究

2017-04-27 10:03崔娜
电脑知识与技术 2016年29期
关键词:系统开发移动终端

崔娜

摘要:近几年,移动互联在通信产业中异军突起,使得搭载了移动操作系统的智能手机迅速占领了市场。移动设备的功能已不仅仅局限于通话,更成为了移动终端接人了互联网。Android平台由于其开放性,迅速成为了主流的移动智能系统。智能手机的快速普及,对优质移动应用程序的需求也越来越强烈。通过实际开发一款移动应用程序为例,研究Android平台的核心架构和关键技术,解决常见问题、提高用户体验,最后对移动互联应用产业的未来前景做了总结和展望。

关键词:Android;移动终端;系统开发

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)29-0038-02

1概述

智能移动设备是互联网与移动通信相结合的产物,不仅可以进行常规的通讯服务,还可以接入互联网即时查询信息。在移动智能操作系统领域中Android平台占有极大的市场份额,通过搭载大量的移动应用程序,智能手机具备了极其强大的功能。由于Android平台的开放性,在智能手机和平板电脑的市场中占有相当大的份额。智能移动终端的方便、快捷性,使得人们在衣食住行上越来越依赖智能手机。

2Android平台的系统构架

Android是一个开放的包含了众多源代码的软件系统。它的系统构架一共分为四个层次:第一层,主要包括Linux操作系统及应用;第二层,主要包括本地代码框架;第三层,包括JAVA框架,第四层,包括JAVA应用程序。如图1所示。

Linux使用第一层和第二层的分界线划分系统内外核空间。除第一层属于内核空间外,其它三层都为外核空间。在第二层和第三层之间的交界处放置本地框架和JAVA框架代码的接口。由于第三层以下的系统框架内容不可见,系统开发的过程主要针对第四层的系统API,第三层和第四层的交界处是API的接口。

3Android应用程序开发的关键技术

3.1界面布局

开发人员需要通过设计和制作静态界面将信息展示给用户。视图组件(view)、视图容器(viewGroup)和布局管理(Lay-out)被称为静态界面三要素。

1)视图组件(view)和视图容器(viewGroup)

在移动终端中所看到的应用程序用户界面是由View类和ViewGroup类组成的,View类构成了UI组件的基础,可以对布局实现多种功能,如绘图、焦点变换、用户交互等。ViewGroup类View类的子类,可包含若干个UI组件。

2)布局管理(Layout)

在开发过程中,各个组件排列方式的组织和管理是通过布局管理(Layout)实现的,常见的布局有四种:线性布局、相对布局、表格布局和绝对布局。

3)事件处理机制

Android手机基本都配有触摸屏,当点击屏幕上应用程序的某一控件时,控件会产生响应,事件处理機制在这里就发挥了作用。Android的事件处理机制沿用JAVA,包括三个事件模型:事件(Event)、事件源(Event Source)和事件监听器(Event Listener)。

3.2AsyncTask(异步执行任务)

AsyncTask(异步执行任务)可以简化应用程序执行多任务时的过程,通过简单的异步操作,不仅可以降低编程的难度,还可以带来更好的用户体验。它包含三种泛型类型参数:Params(启动任务执行的输入参数),Progress(后台任务执行的进度),Result(后台计算结果的类型)。

3.3数据解析

Android客户端需要先与数据库进行交互获得数据后,才会在屏幕上动态显示用户能看到的信息,目前常用的数据交互格式有两种:XML(Extensible Markup Language)和JSON(JavaS-cript Object Notation)。开发者可根据他们各自的优缺点加以取舍:(1)JSON较XML量级更轻,数据体积更小;(2)JSON更易于与Script进行交互;(3)XML对数据的描述更清晰且速度快于JSON。

4Android移动终端应用程序开发实例

下面以一款内蒙古旅游手机应用程序为例,实证Android平台应用程序开发过程。Android应用程序的开发流程为:旅游部门进行市场调研,确定市场需求,向软件公司提出开发需求。软件公司根据客户需求初步开发出客户端原型,与界面相关效果图制成静态客户端交付旅游部门审核。审核通过后开始动态部署应用程序。接下来开发人员获取服务器端的接口,确认返回数据,再将返回的数据与客户端界面链接,使得应用程序页面可以动态显示信息。开发完毕的应用程序将进入闭环测试流程,即测试人员对开发完成的应用进行测试,并将测试结果告知开发人员,开发人员要根据测试报告中指出的问题进行进一步修改,如此往复直到解决全部问题。软件公司需要经常与旅游部门进行沟通,这种沟通将伴随整个开发过程。当旅游部门对软件功能提出修改方案时,应及时反馈开发人员,实时调整客户端。

如果说软件的界面相当于应用的外观(如图2),那么软件的架构相当于应用的灵魂,如图3所示。为了使移动应用程序能够便于扩展、易于操作、结构简明、逻辑清晰、定位明确、符合需求,搭建架构是非常有必要的。旅游软件设计内容较多,所以页面有较多层次,单页内容琐碎,有大量数据需要从服务器端获取。为了便于代码的管理和重用,便于前期修改、优化及后期维护,为应用程序设计项目架构如图所示。该项目架构共分三层:显示层、业务逻辑层和数据访问层。显示层作用于系统和显示框架,提供交互式页面;业务逻辑层主要为各种接口,用来传递和处理数据;数据访问层与数据库服务器相连。实体集封装自定义对象,用来做交互过程中的数据载体。此类三层架构优点显著:1)具有很强的扩展性,可根据客户的调整需求,对应修改相应的方法;2)具有较高的安全性,数据调用只存在于相邻层之间,不支持跨层调用;3)易于使用,操作简单。

数据访问层,应用程序需要即时从服务器端获取最新的信息,故网络通信必不可少。这里采用的方式是将java.net通过Apache HTTP的客户端组件HttpClient进行封装和抽象,以便于基于Android平台的应用开发。HttpClient在执行HTTP时,会被HTFP请求交互,请求的方式有get方式和post方式。本旅游应用向服务器请求响应交互所使用的类为封装了HttpClient的caller类,在编程过程中两种方式都可以实现,开发人员可以根据具体情况加以选择。

业务逻辑层,全网络使用ToursimGetApi类声明应用程序将要用到的所有接口方式。网络接口类TourismGetApilmpl调用了网络请求类Caller,并对TourismGetApi类声明中的接口方式加以实现。

显示层,在应用程序的Activity中调用前文叙述的接口实现类中定义的方法,在客户端上显示从服务器上获取的数据,以达到动态部署客户端的目的。

5开发中的常见问题及解决办法

5.1用户体验

良好的用户体验是一款优秀的应用程序必备的素质,由于Android设备种类繁多,Android系统版本也多种多样,开发人员可以通过以下手段尽可能地提升用户体验满意度:

1)点击区域的设置。通常应用程序中有很多按钮图标,他们的大小和美观程度直接影响用户体验,图标太大影响界面整体和谐性,太小又不方便用户点击,因此按钮的设计非常考验开发者的设計功底。当图标较小无法更改时,可考虑适当扩大点击区域,将实际的点击响应区域扩大到按钮的外部。

2)优化速度。用户体验的另一个重要指标就是应用程序运行的流畅性。若不得不在程序运行之初加载大量数据,且需要一定时间,可在等待页面中设计一个进度条,并提示“拼命加载中,请稍候……”。在进行大页面跳转或者网络数据获取的时候,都应该加入这些设置。

3)用户习惯。在应用程序开发过程中还需要对用户的习惯加以考虑,如导航条的位置通常置顶,个人信息和退出系统通常在系统菜单或设置页面等等,力求让用户可以按照自己习惯的方式在最短的时间找到自己需要的功能。

5.2图片缓存问题

多数应用程序都是基于服务器的移动客户端,经常需要远程获取图片。这类应用只有通过展示大量图片才能凸显其特色。一般都是使用ListView组件,这个组件会通过用户向下滑动列表即时加载图片,这就对图片加载速度和网络流量消耗提出了新的要求。可以使用预先缓存图片的方法提高加载速度。

6结束语

本文对Android系统的系统架构和关键技术进行了介绍,通过以一款内蒙古旅游应用程序为例,实地讨论了开发一款商业软件的基本流程,最后阐述了开发中常见的问题及解决方案。随着移动互联的日益发达,人们的生活对互联网和移动设备的依赖越来越深。开发好的移动应用程序,不仅要熟练掌握编程的技巧和相关核心技术,还应从环境搭建、客户需求、界面设计到应用测试等多方面入手,面对遇到的问题应具体分析,努力解决,以求达到最佳的用户体验。

猜你喜欢
系统开发移动终端
手机APP在学生信息化管理中的应用探索
基于开源系统的综合业务数据采集系统的开发研究