android开发利用传感器实现微信的摇一摇功能(zz)

现在的不少应用都用到了摇动手机改变内容的功能,比如微信中的“摇一摇”功能。前两天要实现这个功能,稍微看了一下关于传感器Sensor的内容。
传感器有几种类型:
       方向传感器:   Sensor.TYPE_ORIENTATION
       加速度(重力)传感器: Sensor.TYPE_ACCELEROMETER
       光线传感器:    Sensor.TYPE_LIGHT
       磁场传感器:   Sensor.TYPE_MAGNETIC_FIELD
       距离(临近性)传感器: Sensor.TYPE_PROXIMITY
       温度传感器:   Sensor.TYPE_TEMPERATURE
在摇动手机的功能中,我们只用加速度传感器就行了

加速度传感器返回值的单位是加速度的单位 m/s^2(米每二次方秒),有三个方向的值分别是
  values[0]: x-axis 方向加速度
  values[1]: y-axis 方向加速度
  values[2]: z-axis 方向加速度
  其中x,y,z方向的定义是以水平放置在的手机的右下脚为参照系坐标原点
  x 方向就是手机的水平方向,右为正
  y 方向就是手机的水平垂直方向,前为正
  y 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负
所以说,你的手机放置的空间位置不同,它三个方向的加速度也不同。在这里,三个方向的加速度,与我们传统意义上的加速度(9.8m/s2)有所区别,需细细品味。
以下是摇动手机后清除TextView的文字的代码:

package gy.lovers;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import android.app.Activity;
import android.app.Service;
import android.content.res.Resources;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.Vibrator;
import android.view.View;
import android.widget.Button;

//需要实现SensorEventListener接口public class LoversChoise extends Activity implements SensorEventListener{

Button clear;

//定义sensor管理器    private SensorManager mSensorManager;//震动    private Vibrator vibrator;

public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.loverschoise);

//获取传感器管理服务                mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);//震动                vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);

clear = (Button) findViewById(R.id.clear);

clear.setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub

//点击button后,给button按钮设置了text              clear.setText("现在给button的text赋值喽~");

});

@Override
protected void onResume(){super.onResume();

//加速度传感器  mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), //还有SENSOR_DELAY_UI、SENSOR_DELAY_FASTEST、SENSOR_DELAY_GAME等,//根据不同应用,需要的反应速率不同,具体根据实际情况设定  SensorManager.SENSOR_DELAY_NORMAL);
}

@Override
protected void onStop(){mSensorManager.unregisterListener(this);super.onStop();
}

@Override
protected void onPause(){mSensorManager.unregisterListener(this);super.onPause();
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {// TODO Auto-generated method stub//当传感器精度改变时回调该方法,Do nothing.}
@Override
public void onSensorChanged(SensorEvent event) {// TODO Auto-generated method stub  int sensorType = event.sensor.getType();

//values[0]:X轴,values[1]:Y轴,values[2]:Z轴  float[] values = event.values;

if(sensorType == Sensor.TYPE_ACCELEROMETER){

if((Math.abs(values[0])>14||Math.abs(values[1])>14||Math.abs(values[2])>14)){

//摇动手机后,设置button上显示的字为空    clear.setText(null);

//摇动手机后,再伴随震动提示~~    vibrator.vibrate(500);

}}
}

}
转至:http://www.cnblogs.com/wufawei/archive/2012/03/04/2379320.html

利用传感器实现微信的摇一摇功能相关推荐

  1. python头像右上角加红色数字_利用python实现微信头像加红色数字功能

    通过Python实现将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 实现过程: 准备两张图片如下: 使用PIL图像处理库,导入moudle ...

  2. python程序设置头像_利用python实现微信头像加红色数字功能

    通过Python实现将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 实现过程: 准备两张图片如下: 使用PIL图像处理库,导入moudle ...

  3. android开发利用传感器实现微信的摇一摇功能

    现在的不少应用都用到了摇动手机改变内容的功能,比如微信中的"摇一摇"功能.前两天要实现这个功能,稍微看了一下关于传感器Sensor的内容. 传感器有几种类型:        方向传 ...

  4. Android移动开发-利用加速度传感器开发仿微信摇一摇功能的实现

    加速度传感器是最常见的传感器,大部分Android手机都内置了加速度传感器,加速度传感器运用最广泛的功能就是微信的摇一摇功能,用户通过摇晃手机寻找周围的人,其它类似的应用还摇骰子.玩游戏等. 下面以摇 ...

  5. 利用html5实现类似微信的手机摇一摇功能

    利用html5实现类似微信的手机摇一摇功能,并播放音乐. 1.  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方位.朝向等. 2 ...

  6. 玩转Android之加速度传感器的使用,模仿微信摇一摇

    Android系统带的传感器有很多种,最常见的莫过于微信的摇一摇了,那么今天我们就来看看Anroid中传感器的使用,做一个类似于微信摇一摇的效果. OK ,废话不多说,我们就先来看看效果图吧: 当我摇 ...

  7. 传感器的使用,高仿微信摇一摇,动画加声音

    很多时候我们的应用需要使用传感器,使手机应用更加方便和可玩性更高, Google为我们提供了十一种传感器 #define SENSOR_TYPE_ACCELEROMETER 1 //加速度#defin ...

  8. 利用html5实现类似微信的手机摇一摇功能-计算摇动次数

    1.  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方位.朝向等. 2.  deviceMotion:封装了运动传感器数据的事件 ...

  9. js微信摇一摇功能以及api

    一.摇一摇功能 <!DOCTYPE html> <html lang="en"> <head><meta charset="UT ...

最新文章

  1. App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW int
  2. Struts2基础(1)_MVC
  3. Present ViewController详解
  4. 初学者学python好还是c-学Python还是学C?
  5. AFIO时钟何时开启
  6. nagios监控mysql(check_mysql)及内存使用率(check_mem)
  7. jQuery UI全教程之一(dialog的使用教程)
  8. 给1-3年的前端 6 点诚心建议
  9. 3 RabbitMQ高级特性 3
  10. VBF BETA 1.5 发布了
  11. 7.程序员的自我修养---动态链接
  12. cmd链接php mysql数据库_php连接mysql数据库_cmd连接mysql数据库 - MySQL最新手册教程 - php中文网手册...
  13. 区分惯性环节与延迟环节
  14. 最新计算机专业毕业设计论文选题源码演示录像下载(开题报告任务书PPT毕业答辩模板 jsp70786体育馆售票门票系统 双数据库 mysql版
  15. sis新地址_坚若磐石不掉速,老平台升级新选择,入手昱联Asint 500G SSD
  16. [教程]教你如何制作彩色的3D打印Groot
  17. android中出现javax.net.ssl.SSLPeerUnverifiedException的解决方案
  18. 【R语言】RMarkdown使用
  19. mysql函数 游标_存储过程/游标/mysql 函数
  20. python爬取快手粉丝榜_[Python] 【原创开源】快手爬虫,根据id批量爬取用户的所有图集和视频...

热门文章

  1. 机器学习复盘(2):机器学习主要应用场景及典型案例
  2. 如何在组装或维修计算机时避免静电,组装电脑怎么避免手上的静电
  3. 在VS中怎么用vb画矩形_怎样画颜色绚丽的插画?
  4. 用Python画小猪佩奇
  5. comsol如何定义狄利克雷边界_有限元分析(FEA)是个什么东东
  6. Spring中Autowired注解到底怎么实现的
  7. 【JS数据结构与算法】认识哈希表
  8. android 微信高仿,Android高仿微信聊天界面代码分享
  9. python生成基础头像_python个性化头像
  10. CorelDRAW X7导出pdf发现部分有白边如何处理