package com.zzx.factorytest;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.zzx.factorytest.view.JudgeView;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class LightSensorActivity extends TestItemBaseActivity implements SensorEventListener {
public static final String TAG = "LightSensorActivity.cla";
private SensorManager mManager;
private Sensor mLight;
private ProgressBar mLightProgressBar;
private TextView mLightTextView;
private Sensor mProximity;
private ProgressBar mProximityProgressBar;
private TextView mProximityTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.light_sensor_activity);
mManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mLight = mManager.getDefaultSensor(Sensor.TYPE_LIGHT);
mProximity = mManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
initView();
}
private void initView() {
mLightProgressBar = (ProgressBar) findViewById(R.id.light_number_PB);
mLightTextView = (TextView) findViewById(R.id.light_number_TV);
mProximityProgressBar = (ProgressBar) findViewById(R.id.proximity_PB);
mProximityTextView = (TextView) findViewById(R.id.proximity_TV);
mLightProgressBar.setMax((int) SensorManager.LIGHT_SHADE);
mProximityProgressBar.setMax(1);
((JudgeView) findViewById(R.id.judgeview)).setOnResultSelectedListener(this);
}
@Override
protected void onRestart() {
super.onRestart();
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onResume() {
super.onResume();
if (null != mLight) {
mManager.registerListener(this, mLight, SensorManager.SENSOR_DELAY_FASTEST);
mManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_FASTEST);
}
Log.d(TAG, "注册监听");
/*
File in = new File("data/data/com.zzx.factorytest/shared_prefs/factoryTest.xml");
File out = new File("D:/Log.txt");
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(in)));
String line;
while (null != (line = bufferedReader.readLine())) {
Log.d(TAG, "line : " + line);
}
bufferedReader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
Log.d(TAG, "in : " + in);
Log.d(TAG, "out : " + out);
*/
}
@Override
protected void onPause() {
super.onPause();
mManager.unregisterListener(this);
Log.d(TAG, "注销监听");
}
@Override
protected void onStop() {
super.onStop();
}
@Override
public void onSensorChanged(SensorEvent event) {
float[] values = event.values;
switch (event.sensor.getType()) {
case Sensor.TYPE_LIGHT:
mLightProgressBar.setProgress(Math.round(values[0]));
mLightTextView.setText(getResources().getString(R.string.light_number) + values[0]);
Log.d(TAG, "光线 values[] : " + Arrays.toString(values));
break;
case Sensor.TYPE_PROXIMITY:
mProximityProgressBar.setProgress(values[0] == 1.0f ? 0 : 1);
mProximityTextView.setText(getResources().getString(R.string.proximity_number) + values[0]);
Log.d(TAG, "距离 values[] : " + Arrays.toString(values));
break;
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}