Androidの近接センサーアプリを作ってみました
前書き
趣味でAndroidアプリを開発しているものです!ハーフミラーディスプレーを作ろうと、近接センサーのアプリを開発して見ました。軽く便利なショートカットを書きつづ、近接センサーアプリの開発についてを議事録として残します。
開発環境
開発環境
* Android Studio 2.2.3
* Mac OSX Sierra
デバッグに使った実機
* Xperia(TM) ZL2 SOL25
* Android 5.0 lollipop
Android Studioの便利なショートカット
ラブラリーをインポート - alt + Enter
interfaceのabstractメソッドを自動追加 - Cmd + N でcode generateのメニューが開き、そのままiを打つと、implement methodsが絞られて↓キー移動しなくてもすぐ選択できます。
近接センサーのコード
public class MainActivity extends AppCompatActivity implements SensorEventListener {
private SensorManager mSensorManager;
private Sensor mProximity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// センサーオブジェクトを取得
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
// 近接センサーのオブジェクトを取得
mProximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
}
@Override
protected void onResume() {
super.onResume();
// 近接センサーを有効
mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onPause() {
super.onPause();
// 近接センサーを無効
mSensorManager.unregisterListener(this);
}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_PROXIMITY) {
// values = 5 or 0
if (event.values[0] > 0 ) {
//near
Toast.makeText(getApplicationContext(), "far", Toast.LENGTH_SHORT).show();
} else {
//far
Toast.makeText(getApplicationContext(), "near", Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
Githubにまとめました。
https://github.com/edisonthk/ProximitySensorTest
余談
Eclipseを使ってAndroid開発していた2年前のごろは Java Development Kit(以降、JDK)のインストールは必須でしたが、Android StudioはJDKなくても開発できました。ただし、 react nativeを使うと JDK のインストールは必須になります。
Author And Source
この問題について(Androidの近接センサーアプリを作ってみました), 我々は、より多くの情報をここで見つけました https://qiita.com/edisonthk/items/0f115e6405c2f71d54bd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .