public class MainActivity extends Activity {
private TextView tv_start;
private TextView tv_temp;
public static int RING_VALUE = 40;//ÈýάxyzÈý¸öÖµ×ܺʹﵽÕâ¸öÖµ±íʾҡ»Î
boolean flag = false; //±íʾÊÇ·ñÔÚ²¥·ÅÒôÀÖ
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_start = (TextView) findViewById(R.id.tv_start);
tv_temp = (TextView) findViewById(R.id.tv_temp);
//»ñȡϵͳ´«¸ÐÆ÷¹ÜÀíÆ÷
SensorManager sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
//»ñȡָ¶¨µÄÒ»¸ö´«¸ÐÆ÷(¼ÓËÙ¶È´«¸ÐÆ÷)
Sensor accelerometer = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
//×¢²á´«¸ÐÆ÷µÄ¼àÌýÆ÷
sm.registerListener(new SensorEventListener()
{
@Override
public void onSensorChanged(SensorEvent arg0)
{
//´«¸ÐÆ÷Êý¾Ý±ä»¯£¬Ôڸ÷½·¨ÖÐÎÒÃÇ¿ÉÒÔ»ñÈ¡´«¸ÐÆ÷±ä»¯µÄÖµ
float x = arg0.values[0];
float y = arg0.values[1];
float z = arg0.values[2];
if ((Math.abs(x)+Math.abs(y)+Math.abs(z)) >=
RING_VALUE && flag == false) {
//ÊÇ·ñÕýÔÚ²¥·ÅÒôÀֵıêÖ¾
flag = true;
//²¥·ÅÒôÀÖ½çÃæ
tv_start.setVisibility(View.VISIBLE);
//²¥·ÅÒôÀÖµÄ
MediaPlayer player = MediaPlayer.create(MainActivity.this,
R.raw.houge);
//¿ªÊ¼²¥·ÅÒôÀÖ
player.start();
//¼àÌý¸ÃÊ׸èÓÐûÓв¥·ÅÍê
player.setOnCompletionListener(new OnCompletionListener()
{
@Override
public void onCompletion(MediaPlayer arg0) {
arg0.release();
flag = false;
tv_start.setVisibility(View.GONE);
}
});
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int
i) {
//´«¸ÐÆ÷¾«¶ÈµÄ±ä»¯
}
}, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
//»ñȡζȴ«¸ÐÆ÷
Sensor temperature = sm.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
sm.registerListener(new SensorEventListener()
{
@Override
public void onSensorChanged(SensorEvent arg0)
{
float temp = arg0.values[0];
temp = (float) (Math.round(temp *10.0)/10.0);
tv_temp.setText("ζȣº"+temp+"¡ãC");
}
@Override
public void onAccuracyChanged(Sensor arg0, int
arg1) {
}
}, temperature, SensorManager.SENSOR_DELAY_NORMAL);
}
} |