广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-05 08:32:11 次阅读 稿源:互联网
    广告
    代码如下:

    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();
    }
    }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告