公式Link /「Kotlin対応」の意味 / 気が付いたこと
状態:確認中
閲覧数:614
投稿日:2018-06-18
更新日:2018-06-20
公式Link
はじめてのAndroidプログラミング 第3版
「Kotlin対応」の意味
勘違い
・Javaで説明している上にKotlinについても言及しているのかと思った
実際は?
・全てKotlinで解説している
・ダウンロードできるコードの拡張子も「.java」ではなく「.kt」
気が付いたこと
作成途中のコードはダウンロード不可
P178 加速度センサーで玉ころがしアプリ
SensorEventListenerを追加
エラー表示されている箇所でAlt+Enter
・Implement members
・ok
エラー表示がなくなるまで繰り返す
・Implement members
・ok
センサーの値をデバッグ出力する
P183
▼work/w4c/android0/accball3/MainActivity.kt
package work.w4c.android0.accball3
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.support.v7.app.AppCompatActivity
import android.util.Log
class MainActivity : AppCompatActivity(), SensorEventListener {
override fun onSensorChanged(event: SensorEvent?) {
if (event == null) return
if (event.sensor.type == Sensor.TYPE_ACCELEROMETER) {
Log.d("MainActivity",
"x=${event.values[0].toString()}" +
"y=${event.values[1].toString()}" +
"z=${event.values[2].toString()}")
}
}
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun onResume() {
super.onResume()
val sensorManager = getSystemService(Context.SENSOR_SERVICE)
as SensorManager
val accSensor = sensorManager.getDefaultSensor(
Sensor.TYPE_ACCELEROMETER)
sensorManager.registerListener(
this, accSensor,
SensorManager.SENSOR_DELAY_GAME)
}
override fun onPause() {
super.onPause()
val sensorManager = getSystemService(Context.SENSOR_SERVICE)
as SensorManager
sensorManager.unregisterListener(this)
}
}