#ZXingを使ってQRコードを読み取る
今回は、AndroidStudioでライブラリを導入する際につまづいた話をしていきます。
実装したかったのは上の見出し通りです。
ちなみに自分はまずAndroidStudioをインストールすることから始めた超初心者なんであったかい目でお願いします...。
今回導入するライブラリはかなり有名なライブラリzxingっていうやつです。
Androidアプリ開発でQRコードの機能を追加するぞってなった時は結構な確率でこのライブラリを使用するのではないか、レベルのやつ。
実際に導入手順を説明しながら自分がつまづいた所を説明していきます。
取りあえず自分の環境を公開!
##環境
AndroidStudioversion : 3.6.2
MinSDK : 26
buildtoolversion : 29.0.3
compileversion : 29
language : Koltin
##実装
状態としては新しくプロジェクトを作成して何も触っていない状態から始めます。
こっちの方がわかりやすいし、いかんせんイラン設定してそのせいでエラーとか嫌ですしね。
さて、やっていきます。
###build.gradleに直接書いてライブラリを導入する。
まあ、自分は超初心者だったのでググりまくりました。その結果以下のコードをbuild.gradleに追記すればいいとのことだったので追記してみました。ちなみにこのbuild.gradleはappディレクトリ直下のやつです。
dependencies {
//他の設定
implementation 'com.journeyapps:zxing-android-embedded:4.1.0'
//↑ライブラリのバージョンはその時々の最新のものを使用してください。
}
はい。自分がつまづいたのはこの後です。
結構大抵のサイトではこの一文を追加したら大丈夫的なものが多かったけど、ある程度知識がある方ならここであることに気づくはずです。まあ、自分は超初心者だからそんなこと気づくわけがないですが。
このままビルドしてエミュレータで起動してみるとあら不思議、アプリが開かない(厳密にいうと起動瞬間クラッシュする)。
###なにがダメなのか?
では何がダメなのか。注目すべきはこのライブラリを構築している言語です。
そう。このライブラリはJavaで構築されているのです。そのためライブラリを導入したはいいがコンパイルできずにコンピュータが解釈できていなかったみたい。そのためこのライブラリを構築している言語をコンパイルする機能が必要。さて、解決方法がわかったらさっそく試してみましょう。
###build.gradle(app)に追記してエラーを解決する。
ようするにJavaのコンパイラを追加してあげればいいです。
以下のコードを追記します。
android {
//初期設定とかが書かれている
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
//↑これのバージョンも一応最新のものがいいかも
}
これを追記してからもう一回ビルドしてエミュレータで起動してみると....
あら不思議クラッシュしない。どうやらコンパイラが追されコンピュータがライブラリを認識できたみたいです。(できない場合は空白や不要な文字、バージョンを確認してください)
一応これでこのライブラリの導入は成功。
あとは読み取りとかを各自追記していってください。
##最後に
このようにライブラリを導入する際はそのライブラリの構築言語にも注意する必要があるこが学べました。いかんせん自分は大学一回生なのでまだまだ知識が足りません。せっかくですし軽く自己紹介でもします。
筆者は大学生です。はい。バイトでエンジニアしてます。
インスタでは主にios開発やandroid開発、情報発信や記事の投稿通知、役立つ情報、日常を垂れ流したりしてますのでよかったらフォローしてください。多分フォロー返します。沢山の方と繋がれたらなとか思っています。
アカウント→taaa_kundayo
URL:https://www.instagram.com/p/B-j3-RJjPWJ/?igshid=poq7k5z6eo3n
では、記事は以上になります。
ありがとうございました!!