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」にしてあげてたので、これをセットする必要があると。
そういうことらしいです。
そんなわけでセットしたものがこちら。

いよいよ進展します(笑
実行結果がこちら

少なくともエラーにならず、「開く」ことには成功しました(笑
次回!アプリ権限!
最後までお読みいただきありがとうございました。
気になることがあったら、コメント頂けると嬉しいです。
自主学習も兼ねて記事にするかもしれません。