【Android笔记 六】Android Sensor感应器介绍(二)线程中刷新

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 23:24 点击:

 

  上一篇中提到过一个问题,就是说感应器刷新频率太快,假如我们要做一个UI中,需要根据方向数据绘制一个一个移动的箭头,那么就要太过频繁的刷新绘制界面,占用很多的资源,体验性也会很差,《android 2高级编程》中一个演示测力器的例子,却无意中给我们提供了一种此情况下刷新UI的解决方案,这下我们就知道了如何防止感应器在界面中过于频繁的刷新。

 

  下面是自己修改的代码,供大家参考

/*

 * @author octobershiner

 * 2011 07 27

 * SE.HIT

 * 这是《Android 2 高级编程》中的一个实例,关于感应器的使用很普通,但是介绍了一种使用感应器的应用如何刷新UI的好办法,值得学习

 * 我添加了一些注释和onPause方法

 * 一个演示感应器在线程中刷新UI的例子 测力器的应用

 * */

 

package uni.sensor;

 

import java.util.Timer;

import java.util.TimerTask;

 

import android.app.Activity;

import android.content.Context;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

import android.os.Bundle;

import android.widget.TextView;

 

public class ForceometerActivity extends Activity{

 

       SensorManager sensorManager;

       TextView accelerationTextView;

       TextView maxAccelerationTextView;

      

       float currentAcceleration = 0;

       float maxAcceleration = 0;

 

       @Override

       protected void onCreate(Bundle savedInstanceState) {

              // TODO Auto-generated method stub

              super.onCreate(savedInstanceState);

              setContentView(R.layout.main);

              //获取两个文本显示域

              accelerationTextView = (TextView)findViewById(R.id.acceleration);

              maxAccelerationTextView = (TextView)findViewById(R.id.maxAcceleration);

              //获取sensor服务,选择加速度感应器

              sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);

              Sensor accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

              //注册事件

              sensorManager.registerListener(sensorEventListener,

              accelerometer,

              SensorManager.SENSOR_DELAY_FASTEST);

 

              Timer updateTimer = new Timer("gForceUpdate");

              updateTimer.scheduleAtFixedRate(new TimerTask() {

              public void run() {

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1