Android平台的手机计步器设计与实现(4)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Android平台的手机计步器设计与实现(4)

  Android Studio 2。0

2。2 Android的基本组件及传感器

2。2。1 基本组件

Android具有四大组件,分别为Activity、Service、Content Provider、Broadcast Receiver。在本文中,仅对Activity和Service组件进行说明。

Activity。Activity是Android应用中负责与用户交互的组件——类似于Swing编程中的JFrame控件。但它与JFrame还是有一定的区别。区别在于JFrame本身就可以设置布局管理器,不断地向JFrame中添加组件,但是Activity只能通过setContentView(View)方法来显示指定的组件。实际上Activity是Window的容器,Activity包含一个getWindow()方法,该方法返回该Activity包含的窗口。对于Activity而言,开发者一般不需要关心Window对象。如果应用程序没有调用Activity的setContentView()方法来设置该窗口要显示的内容,那么该程序就显示一个空窗口。Activity为Android应用提供了可视化的用户界面,如果该Android应用有多个用户界面,那么该应用将会包含多个Activity,多个Activity组成Activity栈,当前活动的Activity位于栈顶。Activity之间通过Intent进行通信。Activity生命周期如图2。1所示。

   

图2。1  Activity生命周期

Service。Service与Activity的地位并列,与Activity的区别在于:Service一般不需要与用户交互,常位于后台运行,因此Service组件没有图形用户界面。与Activity组件需要继承Activity基类相似,Service组件也需要继承对应的Service基类。一个Service组件被运行起来之后,它就会拥有自己独立的生命周期。另外Service组件通常用于为其他组件提供后台服务,或者监控其他组件的运行状态。

2。2。2 传感器

Android平台支持三大类传感器,包括运动传感器、环境传感器和位置传感器。Android应用程序可以通过这些传感器来获取设备的外界条件,主要包括运行状态、摆放方向、外界磁场、压力和温度等等。Android系统还提供了驱动程序来管理这些传感器硬件,当这些硬件感知到外部环境发生变化时,Android系统负责管理这些传感器的数据。对于Android应用开发人员来说,开发传感器应用十分简单,只要为指定传感器注册一个监听器即可,当外部环境发生改变时,Android系统会通过传感器来获取外部环境的数据,并将获得的数据传递给监听器的监听方法。在本文中,仅对加速度传感器进行说明。

图2。2  加速度传感器坐标系

Android 加速度传感器的类型是Sensor。TYPE_ACCELEROMETER,通过 android。hardware。SensorEvent 返回加速度传感器值。加速度传感器返回值的单位是加速度的单位 m/s^2(米每二次方秒),有三个方向的值分别是坐标系中X、Y、Z轴的加速度减去重力加速度在相应坐标轴上的分量。不同于手机屏幕坐标系,传感器以左下角为原点,X轴沿屏幕从左向右,Y轴沿屏幕由下至上,Z轴总是垂直于移动电话屏幕从下往上。如图2。2所示。文献综述

2。3 数据存储

    某些情况下,应用程序会有少量的数据需要保存,而且这些数据的格式比较简单:都是普通的字符串、标量类型的值等,比如应用程序的各种配置信息、小游戏的玩家积分等,对于这种数据,Android提供了SharedPreferences以key-value对的形式进行保存。

SharedPreferences本身是一个接口,主要负责读取应用程序的Preferences数据,但该接口本身并没有提供写入数据的能力,而是通过SharedPreferences调用edit()方法获取它所对应的Editor对象来写入数据。程序无法直接创建SharedPreference实例,只能通过Context提供的getSharedPreferences(String name, int mode)方法来获取SharedPerferences实例。 (责任编辑:qin)