「ド初心者」といってもAndroidアプリ開発の初心者です。 オブジェクト指向言語や統合環境も、ほぼ初心者です。 ただ、C言語でのプログラミングは40年近いキャリアがあります。
イ)Android Studioをインストールする
開発環境Android Studioをココからダウンロードし、インストールする。
Java or Kotlin それが問題だ
現在、Androidアプリの開発言語としてはKotlinとJavaがある。 Kotlinの方が新しいのでJavaよりも優れている点があるのだが、新しい分、ライブラリの改廃や変更が有ったりして、ネットの過去の情報が使えないことが多く、よっぽどの愛が無ければ挫ける(私は挫けた)。 なので、まだしばらくはJavaで行こう。
ロ)プロジェクトの作成例
時計を作ってみた。
ロ-1. 新規プロジェクト作成
「New Project」「Empty Activity」で新規プロジェクトを作成
- Name は好きな名前で
- Language は Java を指定
- Minimum SDK は Android 8 (API Level 26)辺りで(targetApiはGoogle Playアプリの対象 API レベル要件に従う)
これで、実行可能な最小限のプログラムの雛形が生成される。
ロ-2. とりあえず Run
メニューバーから「Run」「Run 'App'」すると、Buildして端末エミュレータを起動し、アプリが実行される。 画面中央に"Hello World!"と表示されていれば、ここまでは問題無い。
ロ-3. プログラムを修正する
activity_main.xmlの
<TextView
を
<TextClock
に変更する。
これだけである。大事なところなのでもう一度言う、これだけで時計ができる。
ロ-4. 再び「Run 'App'」
画面中央に時計(らしきモノ(*))が表示される。
このように、TextView Class を TextClock Class に置き換えるだけで、いとも簡単に時計を作れてしまう。 "Hello World!"のような無意味な静的表示ではなく、時計のような実用性のある動く表示を実現できた。 オブジェクト指向万歳!(なのか?)
もちろん、秒を表示したりタイムゾーンを指定したり、あるいは、フォントや画面位置の設定など、 実利用するためには様々な設定を加える必要があるが、ここではアプリ開発の流れを示す例なので、ここまでとする。
(*) タイムゾーンが未設定なので、この時点では時刻がズレているかもしれない。いや、たぶんズレているだろう。 エミュレータのタイムゾーンの設定はエミュレータ上の「設定」からできる。
ハ)作ったアプリをスマートフォンにインストール
APKを作ってスマートフォンにインストールする。 APKの作り方はココを参考。
スマートフォンへのAPKファイルのコピーはGoogle Drive経由が楽だろう。
オマケ
参考書
- Android Developer: Android用開発の総本山。日本語ページもあるが、日本語訳に誤訳があるので英語ページがお勧め。
- User guide of Android Studio:Android Studioを使った開発手順。
- Android version history: Androidの過去のバージョンのメンテナンス期限の確認
Platform-ToolsにPATHを通す
adbを使いたいのでPATHを通した。
Class について
様々な部品(Class)をうまく使えば、アプリを効率良く作ることができるだろう。 しかし、オブジェクト指向プログラミングの大きな欠点であるが、どんなClassがあるのかが分からない。 地道にDeveloper Referenceで検索するくらいか。 きっと、欲しい機能が既に存在していると信じて。
Trouble Shooting
- Android Studio でEmulatorが起動しない
久しぶりにAndroid Studio を使おうと思ったら、Emulatorが起動しない。 ログ /mnt/c/Users/(user name)/AppData/Local/Google/AndroidStudio2021.2/log/idea.log を見ると、エラーが出ている。
ERROR - Emulator: Pixel 5 API 31 - Could not find GLES 2.x config!
そこで、Device ManagerのEdit this AVDでEmulated PerformanceをGraphics: Software - GLES 2.0 に変更したら、問題解決した。