エミュレーターのバグ?
現在作っている時計アプリについて、自分の実機以外の機種でも動くのか試しにエミュレーターを使って試してみた。新しい機種、新しいAPIでも動くかやってみようと、Pixel 6 Pro API 31を使った。
そしたら何と!変な時間が出るではないか。今までこんな経験はしたことがなかった。これまでも時差で9時間ずれていて一瞬驚いたことはあったが、今度はそうではない。半端にずれた時刻が表示されている。一方、エミュレーターのデフォルトの時計アプリは正しい時刻を指している。もしかして、今作っているアプリは最新機種には適合してないのか・・・。そこで、非常に簡単な、時間だけを表示するアプリを作ってみた。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById<Button>(R.id.button).setOnClickListener {
val now = Calendar.getInstance()
val nowYear = now.get(Calendar.YEAR)
val nowMonth = now.get(Calendar.MONTH)+1
val nowDay = now.get(Calendar.DAY_OF_MONTH)
val nowHour=now.get(Calendar.HOUR_OF_DAY)
val nowMinute = now.get(Calendar.MINUTE)
findViewById<TextView>(R.id.tvDate).text = "$nowYear 年 $nowMonth 月 $nowDay 日"
findViewById<TextView>(R.id.tvTime).text = "$nowHour : $nowMinute"
}
}
}
そしてボタンを押すとこんな感じに。
もしかして、Calendarクラスが非推奨になったりしてないか・・・いや、どうやらそれはなさそう。それで、この機種以外の新しい機種(Pixel XL API 31)でやってみると、今度は正しい日時が表示される。
Pixel 6 Pro API 31のエミュレーターのバグなんでしょうか? そんな気がするけれど・・・誰かご存じだったら教えてくれませんか?
コメント
コメントを投稿