コード写経をもってAndroidアプリ開発の流れを体感したい-00
[data-toc]{background:#ffffffd9;border:1px solid var(--color-border-medium-emphasis,#08121a4d);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px 16px}[data-toc] h2,[data-toc] ol,[data-toc] p{margin:0}[data-toc] .toc-header{align-items:center;display:flex;font-weight:700;gap:12px}:is([data-toc] .toc-header) h2{color:var(--color-text-medium-emphasis,#08121abd);font-size:.875em}[data-toc] .toc-empty-message{color:var(--color-text-low-emphasis,#08121a9c);font-weight:400}:is([data-toc] .toc-empty-message) p{font-size:.75em}[data-toc] ol{list-style:none;padding:0}:is([data-toc] ol) .last.collapse a{border:none}:is([data-toc] ol) a{border-bottom:1px solid var(--color-surface-tertiary,#08121a14);display:block;font-size:.75em;padding:6px 0;-webkit-text-decoration:none;text-decoration:none}[data-toc] .h4,[data-toc] a{color:var(--color-text-medium-emphasis,#08121abd)}[data-toc] .h2{font-weight:700}[data-toc] .h3{font-weight:400;margin-left:8px}[data-toc] .h4{font-weight:400;margin-left:16px}[data-toc] [role=button][aria-expanded]{align-items:center;display:flex;font-size:.75em;font-weight:700;gap:4px;justify-content:center;padding:4px 0;text-align:center;-webkit-text-decoration:none;text-decoration:none}[data-toc] [role=button][aria-expanded=true]:after{mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M20.97 14.55c0 .26-.1.51-.29.71a.996.996 0 0 1-1.41 0l-7.29-7.29-7.29 7.29a.996.996 0 1 1-1.41-1.41l7.29-7.29c.78-.78 2.05-.78 2.83 0l7.29 7.29c.19.19.28.44.28.7'/%3E%3C/svg%3E")}[data-toc] [role=button][aria-expanded=false]:after,[data-toc] [role=button][aria-expanded=true]:after{background:var(--object-low-emphasis,#08121a9c);content:"";display:block;height:1rem;mask-size:contain;width:1rem}[data-toc] [role=button][aria-expanded=false]:after{mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M3.05 9.45c0-.26.1-.51.29-.71a.996.996 0 0 1 1.41 0l7.29 7.29 7.29-7.29a.996.996 0 1 1 1.41 1.41l-7.29 7.29c-.78.78-2.05.78-2.83 0l-7.29-7.29c-.18-.19-.28-.44-.28-.7'/%3E%3C/svg%3E")}[data-toc]:has([role=button][aria-expanded=false]) .last:not(.collapse) a{border:none}[data-toc]:has([role=button][aria-expanded=false]) .collapse{display:none}[data-toc]:not(:has([role=button][aria-expanded])):not(:has(.collapse)) .last a{border:none}:is([contenteditable=true],.no-js,#no-js) [data-toc] .collapse{display:revert!important}目次 <背景> <写経00> 1. Android Studioをインストール 2. Android SDKのインストール <背景>1年以上SESとして現場に入ってきて、思ったこと。「私、何か成長したか??」悲しきかな、SESとは名ばかりで誰でもできる事務みたいな作業をさせられている(業界の闇……)。私もゲームアプリ開発して、1発当てて会社起こしたりなんかできないかなー。それかゲーム会社とか入りたかったんだよなー。……え、作ればよくない?というわけで、知識がまっったくといっていいほどない私は、まずは写経をば。お手本はもちろんチャットGPT君にお任せじゃい。ただ写経しても上達せんから、調べて知識を蓄積しながらな。。<写経00>さて、そう意気込んだものの「環境構築?なんすかそれ。」な私。またしても当然先生はチャットGPT!今回はコードの中身には入らず、開発環境の構築とやらをやっていきます。さささ、何をどうしたらいいんじゃ?1. Android Studioをインストールふむ。。。あんどろい……。まあ、とりあえずそなるものをインストールすんですね。はいはい。と言いながら言われるがままにインストール。おお!なんかコンパス的なアイコンがデスクトップに!!クリックしてみると……めっちゃ英語やんけ!!!!なに書いてあるのかさっぱりわからん。いや、フィーリングで何とかわかるのもあるけど、言語設定?らしきところをクリックしても「get more languages...(さらに言語を取得する)」と英語しか選べなくて、しかもゲットモアふんちゃらをクリックして「japanese」って検索欄に入力しても出てこねぇのさ。え、日本語対応してないんか?教えてGPT!!! 方法1:公式プラグイン(有志翻訳) 方法2:完全英語で慣れる(おすすめ)言われるがまま、方法1であげてくれたプラグインを探すとあった!!しかしながら、なぜかinstallボタンがグレーアウトして押下できない。。ふむ。。完全英語で慣れろってことね、そうなのね。余談ですが、なんか見覚えあるプラグイン画面だなーと思ったら、これ今を時めくIntelliJを基に作られてる開発環境なんですね!知らなかった~(あれ、でも自分IntelliJは日本語で使えている気が……。まあ、気にしたら負け!) ※後から調べたら、バージョンが新しすぎて公式プラグインが公開されてなかったみたい。->2025.1.3仕方がないので、調べつつ英語UIでやっていくことにします。先生の推しだし。。。2. Android SDKのインストール知らない人からしたら「なんのこっちゃ」なアイテムですが、SDKというのは所謂コーディング(ソースコードを書くこと)に必須な開発キットのことですな。イメージでいうと、家具製作に必要なノコギリ/釘とかなづち/水平器 とかが入った工具箱的な。私も詳しくはわからないので、ちゃんと知りたい人はそれこそGPT君にでも聞いてみてください。GPT『Android Studio メニュー → Tools > SDK Manager を開く』メニューというのもなければ、Toolsとかもないんだが?探したところ、下記でそれらしき箇所を発見。『⚙ (歯車マーク)→ Setting → language and Frameworks → Android SDK』とりあえず言われたものにチェックしていく「SDK Platforms」タブで次を選択: ✅ 最新の Android 版(例:Android 14 / API 34) ✅ 1つ前くらいの安定版(例:Android 13 / API 33) (複数チェックしてOK)一応調べたら、今(2025/09/24)は(Android 16 / API 36.1 )が最新みたいね。Android 16と15に✓を入れました。下方互換性とか気にしなくてええんか?と思ったので聞いてみると、「ここで選択するのは、あくまでテスト用エミュレータのバージョンだからどうしても下位のバージョンでテストしたい場合を除き不要」とのこと。開発したいアプリ自体の対応バージョンはプロジェクトごとに決められるから今は気にせんでいいとさ。笑-----ここから余談-----なんか、バージョンの後ろに「VanillaIceCream 」だの「UpsideDownCake」だのおいしそうな名前がついているから何かな~と思ってGPTに聞いたらAndroid公式でマイナバージョンに付けるコードネームなんだとか!可愛くて素敵なアイデアですね!!-----閑話休題としまして-----「SDK Tools」タブで次をチェック: ✅ Android SDK Build-Tools ✅ Android Emulator ✅ Android Platform-Tools ✅ Android SDK Tools若干だけど、またもや情報の古いところがあったので、実際✓したものを書き直します。 Android Emulator(エミュレータ―だね。スマホを使わなくても動作確認できるって便利なやつ) Android SDK build-Tools(アプリをビルド≒コンパイル するための必須ツール群だそう。これがなきゃ動かんってこと。) Android SDK Platform-Tools(実機と接続してデバッグするためのツールらしい) Google USB Driver (USBと実機をつないでテストできるやつ。Windowsなら入れとけって、後から言われた。笑)入れなかった「Android SDK Tool 」はそもそも一覧になかった。古い環境で用意されていたものらしいけど、今は統合されつつあるとか。廃版は表示しない的なところに✓を入れて一覧をみていたから、ないってことは廃版になったんだろうね。チェックを入れてOK押したらバババーっとインストールが始まり……。すべて終わったタイミングで「finish」が押せるようになったので、押したら終わり!これだけで必要なツールを取り込んでくれるなんて……専用開発環境、様様ですわ、、他にも便利なツールはたくさんあるっぽいけど、色々入れて混乱するよりまずは基本を覚えよう!!ってなわけで、今はひとまずいらんってものはすべて削ぎ落とし。。。上の4つに納まったのでした!<次回>次回、写経01 ではひとまず「Hello World 」をエミュレータに表示するところまで行きたいなーって感じです。気分が乗った時に触るのでいつになるやら。笑※実はAndroid Studio のインストール自体は半年以上前にしてたけど、環境構築しないまま放置していました。はい。そんなわけで自分のメモ用兼、今後「なんもわからんがアプリ開発するぜ☆」って人の役に立てばいいなぁという気持ちで進んだ時にチマチマ書いていきますわ。そいじゃまた、何か月後かに!