iOS開発者のAndroid開発入門その1(Android Studio)

botman3 Android

はじめに

Android Studioのあれこれについて書いていきます。

環境

  • macOS Catalina 10.15.3
  • Android Studio 3.6.3

プロジェクトファイル構成

プロジェクトを新規作成すると以下のような構成でファイルが生成される。

  • app
    モジュールフォルダ(アプリモジュールのファイルが格納されている)
  • .gitignore
    Android Studio が自動生成する gitignore
  • .idea
    Android Studioのプロジェクトの設定関連フォルダ。(これにより Android Studio のプロジェクトと認識されるらしい)

その他は Gradle 関連のファイル。(Gradle は JVM 上で動く Groovy で記述されたビルドシステム)

  • build
    ビルド生成物の格納フォルダ
  • .gradle
    Gradleの実行環境が保存されているフォルダ
  • gradle
    gradle-wrapperが格納されてるフォルダ(これによりgradleをインストールしてなくても gradlew コマンドで実行できる)
  • gradlew
    実行ファイル(Mac用)
  • gradlew.bat
    実行ファイル(Windows用)
  • build.gradle
    ビルド内容の定義ファイル
  • gradle.properties
    build.gradleで使えるプロパティ定義
  • local.properties
    ローカル用のbuild.gradleで使えるプロパティ定義(.gitignoreで除外されてる)
  • settings.gradle
    Settingsオブジェクトに対するなにかの定義ファイル?
  • [プロジェクト名].iml
    プロジェクトの定義情報を保存している

参考

gitignore

生成される gitignore

モジュール

プロジェクトには複数のモジュールを含めることができる。モジュールのファイル構成は下記。

ルートディレクトリ:[モジュール名(デフォはapp)]/

  • build/
    ビルドの出力結果が格納されている。
  • libs/
    プライベートライブラリが格納されている。(.jarファイルとか)
  • src/
    モジュールのすべてのコードとリソースファイル格納されている。
  • build.gradle
    モジュール固有のビルド構成を定義する。
  • .gitignore
  • app.iml
    モジュールごとの定義情報を保存している
  • proguard-rules.pro

src

  • androidTest/
    Android デバイス上で実行するインストゥルメンテーションテストのコードが格納されている。
  • test/
    ホスト JVM 上で実行するローカルテストのコードが格納されている。
  • main/
    すべてのビルドバリアンで共有される Android コードとリソースが格納されている。

    • AndroidManifest.xml
      アプリとその各コンポーネントの性質を記述する。
    • java/
      ソースコードが格納されている。
    • res/
      ドローアブルファイルやレイアウトファイルなど、アプリのリソースが格納されている。
    • assets/
      画像ファイルやCSVファイルなど

gitignore

生成される gitignore

プロジェクトビュー

Android Studioでみる場合、プロジェクトビューの選択により見た目が変わります。
基本的にはファイルの役割ごとにまとめて表示される「Android」を指定し、ファイルの追加時などは実際のフォルダ構成で表示される「Project」を選択することになるかと思います。

project

便利なショートカット

よく使いそうなショートカット集です。
参考:キーボード ショートカット

機能 ショートカット
ファイルやクラスなどを全体から検索 shift 2回
全体から検索 cmd+shift+F
一行削除 cmd+Backspace
アクティブなエディタタブを閉じる cmd+W
宣言に(直接)移動 cmd+B
行コメントでのコメント / コメント解除 cmd+/
エラー解決 option+Enter
戻る(宣言に移動した時とか) cmd+option+←
進む(宣言に移動した時とか) cmd+option+→

Layout Editor

Xcode の Interface Builder エディタのようなやつ。
これで操作しにくい場合は右上の3つの切り替えボタンでxml表示と切り替えれる。
端末の種類や向き、言語設定などを切り替えて確認することができる。

layout

詳細は下記参考
Layout Editor を使用して UI を作成する

エミュレータ操作

AVD(Android Virtual Device)の追加する

最初は AVD が作成されていない状態なのでエミュレータで起動したい端末を AVD Manager で追加する。
AVD Manager は画像の赤枠から起動できる。

avd_manager

  1. AVD Manager を開く。
  2. [AVD Manager] ダイアログの下部にある [Create Virtual Device] をクリックする。
  3. [Select Hardware] でハードウェアプロファイルを選択して [Next] をクリックする。
  4. [System Image] で任意の API レベル用のシステムイメージを選択して [Next] をクリックする。
  5. [Verify Configuration] で必要に応じて AVD プロパティを変更し、[Finish] をクリックする。

エミュレータ起動

画像赤枠ので起動する AVD を選択し、画像青枠の実行をクリックするとエミュレータを起動できる。

run

詳細は下記参考
仮想デバイスの作成と管理

デバッグ

ブレークポイント

ブレークポイントを貼り(コードの左横をクリック)、デバッグ実行(画像の赤枠)する。

run_debug

ブレークポイントの処理まで進むと Debug ウィンドウに下記のように表示される。(ウィンドウが表示されない場合は View -> Tool Windows から表示する)

debugger

右上の赤枠でステップ実行などの操作ができる。一番右の電卓をクリックすると下記のように指定した変数の確認などができる。

evaluate

ログ出力

ログ出力には android.util.Log を利用する。ログレベルには下記のように Debug や Error など設定でき使いやすい。

tag はとりあえずクラス名を設定しておけばいいと思う。

Logcat でログレベルのフィルタとタグでの検索を行うと下記の様に表示される。(ウィンドウが表示されない場合は View -> Tool Windows から表示する)

debug_log

クラッシュ時

下記のように NullPointerException になるように修正し実行する。

Logcat に下記のように出力される。下の方にどの関数(MainActivity.hoge())でクラッシュしたか記載されている。

crash

さいごに

これでざっくり Android Studio を操作できるようになったはず!

参考

https://amzn.to/4hZ13MU

コメント

タイトルとURLをコピーしました