エミュレーターのバグ?

 現在作っている時計アプリについて、自分の実機以外の機種でも動くのか試しにエミュレーターを使って試してみた。新しい機種、新しい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"
}
}
}

 そしてボタンを押すとこんな感じに。


 やっぱり、変な時間(ボタンを押したのは8/23日の22:20頃)である。おまけに、日付も全然違っている。

 もしかして、Calendarクラスが非推奨になったりしてないか・・・いや、どうやらそれはなさそう。それで、この機種以外の新しい機種(Pixel XL API 31)でやってみると、今度は正しい日時が表示される。

 Pixel 6 Pro API 31のエミュレーターのバグなんでしょうか? そんな気がするけれど・・・誰かご存じだったら教えてくれませんか?

 








コメント

このブログの人気の投稿

目覚まし時計アプリを公開します

超初心者の機械学習入門

画面回転で苦労した話(原因はわかった)