| 关键词: nbsp private SensorManager MediaPlayer sensorEventListe Vibrator Sentence TextView MainActivity Sensor |
做过一个小项目,其中实现了摇一摇功能和刮一刮功能还有播放背景音乐等摇一摇功能主要用到加速度传感器:Sensor.TYPE_ACCELEROMETER摇一摇功能主要是监听手机加速度变化,当超过设定的某一值时,即触发事件。[java] view plaincopy/** * FileName: MainActivity.java * @desc 该类是用于显示摇一摇界面 * @author HTP * @Date 20140311 * @version 1.00 */ public class MainActivity extends Activity implements OnClickListener { private TabHost tabHost; private MusicNameDao dao; // private ImageButton bt_setMusic; // 声音 private MediaPlayer mediaPlayer; // 显示摇一摇出现的内容 private TextView tv; // 要显示在tv中的内容 private String msentence; // 通过类Sentence可得到摇一摇显示的内容 private Sentence sentence; // 显示标签“刮一刮” private TextView tv_rubbler; // 重力感应管理器 private SensorManager sensorManager; // 震动控件 private Vibrator vibrator; // 标签 private static final String TAG = "MainActivity"; private static final int SENSOR_SHAKE = 10; // private Intent musicIntent = new Intent("com.angel.Android.MUSIC"); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dao = new MusicNameDao(this); Uri musicUri = Uri.parse("android.resource://com.example.romance/raw/" + dao.getName()); mediaPlayer = MediaPlayer.create(this, musicUri); //Toast.makeText(MainActivity.this, musicUri.toString(), 1).show(); mediaPlayer.start();// 播放音乐 mediaPlayer.setLooping(true);// 设置循环 dao = new MusicNameDao(this); // startService(musicIntent); tv_rubbler = (TextView) findViewById(R.id.tv_rubber); tv_rubbler.setOnClickListener(this); // bt_setMusic.setOnClickListener(this); sentence = new Sentence(); // Uri musicUri = Uri.parse("/sdcard/ttpod/song/虹之间.mp3"); // 获取res/raw/下的音乐路径 tv = (TextView) findViewById(R.id.tv_text);// 关联要显示的TextView空间 sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); } @Override protected void onResume() { super.onResume(); if (sensorManager != null) {// 注册监听器 sensorManager.registerListener(sensorEventListener, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); // 第一个参数是Listener,第二个参数是所得传感器类型,第三个参数值获取传感器信息的频率 } } @Override protected void onPause() { super.onPause(); if (sensorManager != null) {// 取消监听器 sensorManager.unregisterListener(sensorEventListener); } } /** * 重力感应监听 */ private SensorEventListener sensorEventListener = new SensorEventListener() {&nb |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|