研修でAndroidアプリを公開しました
2019.12.16
研修でAndroidアプリを作成しました!

はじめまして、(株)ライトコードのエンジニアでは最年少の鈴木です!
2019年、10月に入社ました。
10月はITの全体的な研修をした後、11月から研修でAndroidアプリの作成を開始しました。
最後にそのアプリを「Google Play ストア」に公開したので、その感想をまとめてみようと思います。
それでは、いってみます!
書籍の管理をするアプリを公開しました!
私が、今回作ったのは、書籍の管理をするアプリです!
【書籍管理アプリ】
https://play.google.com/store/apps/details?id=io.github.takayan40.bookapp
このアプリの機能はこんな感じです。
- Androidで書籍の裏表紙にあるバーコードを読み込む
- 公開APIを使って、書籍の表紙とタイトルを取得
- 購入日や感想を登録
- 登録した内容の一覧表示
現在は、まだ「登録」と「削除」以外の機能はない簡単なものです。
未経験から1ヶ月で作ったということで大目に見ていただければ嬉しいです!
苦労したことなど
ちなみに私は、Androidアプリ開発をしたことがなく、今回が初めてです。
そのため、ネットで調べたり、先輩に聞いたりしながら、手探りで作成していきました。
その中でも、特に苦労した箇所はこのような感じです。
ボタン連打の対応
「OnClickListenerを設定したボタン」や「Viewを連打」「同時押し」「別々のボタンを交互に連打」などをすると、複数回クリックイベントを呼んでしまいます。
それによって、書籍の登録画面を複数開いてしまったり、同一の書籍を複数登録してしまったりとバグが起きていました。
そこで、OnClickListener を継承した、SingleClickListener を作成しました。
前回のボタン押下から次のボタン押下の時刻を比較することによって0.5秒以内の連打を防げるようになります。
OnClickListener の代わりに、全て SingleClickListener を呼ぶことで、同一のボタン連打だけでなく、別々のボタンを交互の連打されても問題ないようになりました。
そして、意外だったのが、Google Playに公開されている他のアプリにも、この対応がされていないモノがあることです。
私が普段から使用しているアプリの中に、「ボタンを連打」したり「同時押し」すると、Activityを複数開くのを確認しました。
ちなみに、Kotlinで書いているのであれば、 Extension で書いたほうが簡単ですので、私のように書く必要は無いと思います。
書籍の保存
書籍の保存は、Realm Database を使用して実装しています。
【Realm Database】
https://realm.io/
ここで起こった問題について…。
『書籍の一覧』を表示する際、『登録済みの書籍の一覧』を取る必要があるわけですが、「取得できたり、できなかったり」して、とにかく苦戦しました。
たまに、取得できることがあたったので、非同期処理が間違っているのだと思っていました。
非同期の処理をしている所ばかり見ていましたが、実際は違っていました。
データベースの処理を終えるときに、インスタンスを閉じていないのが原因でした。
動いているのに正しく動かず、どこが牽引になっているのか全然分からず、特定に大変苦労しました。
リリース準備
「apkファイルの作成」「Google Play Consoleのアカウント作成」「ストア掲載情報の入力」など、アプリが完成した後のリリース準備に意外と時間がかかりました。
特に、「アイコン画像」「フィーチャーグラフィック」「スクリーンショット」などの、ストア掲載情報に必要な画像作成に結構時間を取られました。
「インストールしてもらえるか?」に関わる重要な所とも言うことができます。
たくさんの人に見てもらえるようにしたかったのですが「自分のセンスの無さが悲しい…。」
そう感じました。
リリースしてみて思ったこと
Androidアプリは、Java と Kotlin の両方で開発しています。
ということで私は、Kotlin を8割、Java を2割ぐらいで実装しました。
しかし、Java と Kotlin で違いがあるものの、あまり気にしないで書けたのは驚きました。
また、機能が乏しいので、「本当にGoogle Play ストアに公開してしまっていいのか?」と思っていました。
が、いざ自分で作ったものが Google Play ストアに並んでいるのを見ると嬉しい!!
せっかくお金を払ってGoogle Play Consoleにログインできるようになったので、別のアプリケーションも作成したいと思いました!
アプリの今後について
今回、1度リリースをしましたが、書籍の「登録」と「削除」しかできません。
そのため、この後もアップデートしていく予定です。
たとえば、
- 現状バーコードのスキャンでしか登録できないので、タイトルやISBNを手入力できるようにしたい
- Firebaseに書籍を登録してアカウントごとに管理したい
- 他の人の感想を見れるようにしたい
などです。
また、iOSの方も作成したいと密かに計画中です!
今後も「機能改善」「バグ修正」などを進めていきたいと思っています!
是非インストールしていただければ嬉しいです!!
ライトコードよりお知らせ
一緒に働いてくれる仲間を募集しております!
ライトコードでは、仲間を募集しております!
当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。
また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!
なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。
ライトコードでは一緒に働いていただける方を募集しております!
採用情報はこちら