摘 要:该设计主要利用了Android系统的方向传感器进行开发与设计,通过方向传感器获取当前的磁场方向,并得到数据,通过友好的UI设计展现给用户。增加了动态背景的刷新,和背景音乐的播放功能,以及菜单选项,从而实现软件的个性化操作。
关键词:指南针;Android;操作系统;方向传感器;智能手机
1 前言
随着人们生活水平的不断提高,外出旅游、探亲访友成为生活不可或缺的部分。然而外出迷失方向常常困扰人们。
本文利用智能手机内置的方向传感器Sensor.TYPE_ORIENTATION,设计与实现一款简易指南针软件,使用方便。
2 Android系y特性与分析
2.1 Android平台特性
Android是一个包括操作系统、中间件、用户界面和关键应用软件的移动设备软件堆。换言之,Android是基于Java并运行在Linux内核上的轻量级操作系统,其功能全面,包括一系列Google公司在其上内置的应用软件,如电话、短信等基本应用功能[1]。
随着科技的发展,移动电话(Mobile Phone)正朝着智能化的方向发展,逐步成为多种工具的功能载体,而Android就是这样一个智能手机的平台、一个多种工具的功能载体。
2.2 Android系统架构
android 是由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications[2]。
2.3 Android 四大组件
在开发应用时都是通过框架来与Android底层进行交互,接触最多的就是应用框架层了。在Android SDK中内置了一些对象,其中最重要的组件要属Activities、Intents、Services以及Content Providers四个组件[3]。
3 系统软件设计
3.1 设计流程***
软件设计流程***,首先启动软件,进入APP界面。然后软件将会判断是否该设备是否存在方向传感器或电磁罗盘传感器,如果不存在系统将会给出友好提示,存在将会通过设备传感器去获取当前的数据,也就是方向数据,然后将会把这些数据通过程序处理好后,友好的显示给用户,主要显示分为三部分:动态罗盘***像实时旋转,实时更新***片数字显示度数,实时更新方向通过方向***片显示。其次还有菜单的设计,背景***片,摄像头的调用等方面的功能实现。
3.2 方向传感器
创建一个传感器管理器和一个传感器监听器,管理器用来管理传感器以及创建各种各样的传感器,监听器用来监视传感器的变化并且进行相应的操作
private SensorManager sensorManager;
private MySensorEventListener mySensorEventListener;
mySensorEventListener= new MySensorEventListener();
3.3 CompassView 指南针动画view
自定义一个View继承ImageView,增加一个通用的旋转***片资源的方法 ,并且重写onDraw(Canvas canvas)方法,实现指针的旋转都将会在该方法中实现。
3.4 背景音乐music主要实现步骤
(1)通过Context.getAssets()方法获得AssetManager对
(2)通过AssetManager对象的openFd(String name)方法打开指定的原生资源文件夹,返回一个AssetFileDescriptor对象
(3)通过AssetFileDescriptor的getFileDescriptor()得到一个FileDescriptor对象
(4)通过public void setDataSource (FileDescriptor fd, long offset, long length)来创建MediaPlayer对象
(5)调用MediaPlayer.prepare()方法准备音频
(6)调用MediaPlayer的start()、pause()、stop()等方法控制
3.5 menu菜单的实现
菜单的主要作用就是关于指南针软件的背景***片,背景音乐,摄像头背景,及其产品的关于和帮助的一些快捷操作。
3.5.1 menu.xml菜单配置文件。首先在工程项目res目录下创建menu文件夹,然后在在menu目录中创建menu.xml文件,然后在menu根标签中创建item子标签,在item中配置菜单显示相应的文本信息和***片,并且为每个选项个配置一个id方便java代码中的获取
3.5.2 menu菜单java代码部分。首先要在activity的主程序中重写onCreateOptionsMenu方法,该方法是菜单键操作的入口,然后在方法中把前面配置好的menu.xml文件通过MenuInflater加载解析进来。
3.6 摄像头背景
调用摄像头作为的实时背景可以增强用户的体验,而实现调用摄像头首先必须开启手机摄像头权限:添加好用户权限以后就是具体的代码实现部分了,首先必须创建一个摄像头对象,通过API提供Camera.open()方法来调用系统的摄像头,然后在设置相关的参数。
4 软件测试
软件测试,鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。
开发运行环境需求:
操作系统:Windows 7旗舰版
支持Android版本:Android 2.2以上
开发工具:eclipse+adt+Android手机一部(必须在Android2.2以上的真机)
5 小结
该设计主要利用了基于Android智能端的方向传感器进行开发与设计,运用Android系统方向传感器,实现方位获取,利用Android的强大UI支持环境,搭建出客户友好型界面供用户体验并使用。增加背景音乐是通过对智能控制端多媒体调用实现,通过对智能控制端摄像头的调用,实现摄像头背景功能,展现出对实际场景动态背景的刷新。添加菜单选项实现软件的个性化操作。
参考文献
[1]杜吉志.Android系统内存管理研究及优化[J].软件,2012,24(5):69-80.
[2]马越.Android的架构与应用[D].北京:中国地质大学,2008:330-357.
[3]姚昱F.Android的架构与应用开发研究[J].计算机系统应用,2008,23(6):99-111.
作者简介:潘言全(1963-),男,硕士,副教授,主要从事机电等方面的科研与教学。