Android Studio カメラアプリ作成その10(カメラ表示5)
こんにちは かなで です。
プレビューするだけでもう第5回となりますね。
ここからエミュレータを使っていきます。
(もしエミュレータ準備できてなかったら以下ページで準備してますのでよろしくお願いします。
前回までに準備したものを実行してみます!
これなんですよね…。Cam keeps stopping Close app
ここからなかなか進まなかったんです…
これを解決していきたいと思います。
まずは何度も出てきている問題ビュー
ですが、エミュレータ動作で出てくる問題には使えないので、
Logcatを押します。
こんな感じの画面になります。
ここで再度アプリを実行してみます。
するとこのようになんかたくさんの表示が出るようになりました。
これが実行しているアプリの細かいログのようです。
この赤枠部分で「net.kanalabo.cam」を選びます。これ以外が選ばれてると他の不要なログも流れてしまうようです。
ちなみにデフォルトで「net.kanalbo.cam」になるみたいです
何度も実行しながら、書いてある文言を片っ端から確認していってたんですが、どう読めばいいかわからず…
結果論になりますが以下の2つで解決となりました。
1つ目
という文言から「camera2」をサイトで検索
ここが思い出されました。
importが並んでいる一番最後に「import androidx.camera.camera2.Camera2Config」を追加します。
「camera2」が赤字になるので、クイックフィックスで「Add depondency on androidx.camera-camera2 and import」をクリックします。
ほら!同じ言葉があるでしょ!(だから何
赤字は消えました。
再度エミュレータでアプリを実行してみましょう!
まぁ待ったく同じ結果になりました。
Logcatでは
java.lang.NullPointerException: findViewById(R.id.viewFinder) must not be null
の部分でした。
適当解釈すると、find(探す ということで、R.id.viewFinderを探せなかったということらしいです。
そこで2つ目
ちょっとこちらをご覧ください。
上のコメントアウトをしてたのは、最初にあったものです。
ここで、上下を見比べてみてください…。
最初はあったのに、今回作成分にないものがありませんか?
…
しばし休憩…
…
はい。そうです!。
こちらです!。
これは、activity_mainというレイアウトをセットする。みたいなものと言えます。
そもそもずっとactivity_main.xmlを操作してたのに、MainActivity.ktから開く設定がなかったんですね。
カメラプレビューの画面設定は「activity_main.xml」にしてあげてたので、これをセットする必要があると。
そういうことらしいです。
そんなわけでセットしたものがこちら。
いよいよ進展します(笑
実行結果がこちら
少なくともエラーにならず、「開く」ことには成功しました(笑
次回!アプリ権限!
最後までお読みいただきありがとうございました。
気になることがあったら、コメント頂けると嬉しいです。
自主学習も兼ねて記事にするかもしれません。