android 类似微信的摇一摇功能实现思路及代码

 更新时间:2013年01月20日 11:12:30   作者:  
微信的摇一摇功能的出现,让彼此之间的距离有近了一步,本文也想实现以下微信的摇一摇功能,感兴趣的朋友可以了解下啊,希望本人对你有所帮助
复制代码 代码如下:

package com.eboy.testyaoyiyao;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.app.Activity;
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.Menu;
import android.widget.TextView;
public class MainActivity extends Activity implements SensorEventListener {
//Sensor管理器
private SensorManager mSensorManager = null;
//震动
private Vibrator mVibrator = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mVibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void onAccuracyChanged(Sensor arg0, int arg1) {
// TODO Auto-generated method stub
}
public void onSensorChanged(SensorEvent arg0) {
// TODO Auto-generated method stub
int sensorType = arg0.sensor.getType();
float[] values = arg0.values;
if (sensorType == Sensor.TYPE_ACCELEROMETER){
if (Math.abs(values[0]) > 14 || Math.abs(values[1]) > 14 || Math.abs(values[2]) > 14){
mVibrator.vibrate(100);
TextView tv1 = (TextView)findViewById(R.id.textView1);
SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
tv1.setText(f.format(new Date()) + "手机摇动了...");
}
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
mSensorManager.unregisterListener(this);
super.onStop();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
mSensorManager.unregisterListener(this);
super.onPause();
}
}

相关文章

  • Android开发之组件GridView简单使用方法示例

    Android开发之组件GridView简单使用方法示例

    这篇文章主要介绍了Android开发之组件GridView简单使用方法,涉及Android GridView组件图片浏览及保存图片等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • android如何获取view在布局中的高度与宽度详解

    android如何获取view在布局中的高度与宽度详解

    这篇文章主要给大家介绍了关于android如何获取view在布局中的高度与宽度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Android系统服务概览

    Android系统服务概览

    这篇文章介绍了Android系统服务,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • Android中碎片的使用方法详解

    Android中碎片的使用方法详解

    这篇文章主要介绍了Android中碎片的使用方法详解,其实碎片很简单,但是网上胡乱充数的博文太多了,以至于我们有时候觉得比较乱,今天就来简单讲解一下碎片的使用,需要的朋友可以参考下
    2019-06-06
  • 详谈OnTouchListener与OnGestureListener的区别

    详谈OnTouchListener与OnGestureListener的区别

    下面小编就为大家带来一篇详谈OnTouchListener与OnGestureListener的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Android中的SQLite数据库简介

    Android中的SQLite数据库简介

    SQLite是Android系统采用的一种开源的轻量级的关系型的数据库。这篇文章主要介绍了Android中的SQLite数据库简介,需要的朋友可以参考下
    2017-03-03
  • Android开发gradle拉取依赖的加速配置

    Android开发gradle拉取依赖的加速配置

    这篇文章主要为大家介绍了Android开发gradle拉取依赖的加速配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 札记:android手势识别功能实现(利用MotionEvent)

    札记:android手势识别功能实现(利用MotionEvent)

    现在手势识别的应用已经很广泛了。本篇文章主要介绍了android手势识别功能实现,具有一定的参考价值,有兴趣的可以了解一下。
    2016-11-11
  • Android Flutter自适应瀑布流案例详解

    Android Flutter自适应瀑布流案例详解

    这篇文章主要介绍了Android Flutter自适应瀑布流案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • Android仿IOS自定义AlertDialog提示框

    Android仿IOS自定义AlertDialog提示框

    本篇文章主要介绍了Android仿IOS自定义AlertDialog对话框,主要介绍了圆角AlertDialog对话框,具有一定的参考价值,有兴趣的可以了解一下。
    2017-03-03

最新评论