2016年02月29日

Android Studio ノウハウまとめ

 Android Studio を使って Android アプリを作りはじめる上で悩んだポイントと、その際に役にたったサイトのまとめです。長くなりそうな話は別記事にしますが、1記事にするほどでもない小ネタはここに随時書き足されていきます。

 最初に言っておきますと、プログラミングやアプリ開発について何も知識がない人については、もっと親切な入門サイトを探してください。ここにあるのは、他のプラットフォームでアプリ開発の経験はある人が、Android 開発に初めて手を出した際の疑問点と解決策のメモ です。
 なお、Eclipse については昔からほぼ触った事ないですし、今さら触る気もありませんので、Android Studio だけで話を進めます。

2016.02.08 Android Studio の使い方関連で役にたったサイト
  • Android Studio最速入門〜効率的にコーディングするための使い方
    Android Studio が採用している開発環境、IntelliJ IDEA を使い尽くした方が書いたノウハウ集。何も知らない状況から読むには内容が重過ぎるので、使い方の基本の第1〜8回くらいまでと、必要なファイル群を知るために 第33〜35回を読んだくらいです。
    なお、現在の Android Studio は、この記事の掲載当時とはもうかなり変わってます。
2016.02.28 Blank Activity がちっともブランクでない件
 新しい開発環境でプログラミングを始める場合、普通はまず何もないプロジェクトを作って、そこから少しずつ試していくもんですが、Android Studio でまず一見何もなさそうな 「Blank Activity」 という雛形で新規作成すると、ちっともブランクじゃない、めんどくさそうな一式が作られます。
20160228a.png
 世にある Android 開発の HowTo ページでは大抵、「まずは activity_main.xml を開いて、ボタン等を置いてみましょう」 的なくだりから始まるのですが、この activity_main.xml には何も置けないので、いきなり出鼻をくじかれます。で、どうすればいいかというと以下の2択。
  • activity_main.xml は無視して、代わりに content_main.xml にボタン等を置く。
  • 最初に Blank Activity ではなく、Empty Activity で新規作成すると、従来通り、何もない activity_main.xml から、心静かに習得を始められる。
 去年末くらいの Android Studio 1.4 から唐突にこの作りになったようです。Android 5.0 からの新しいUI、ToolBar と FloatingActionButton を普及させるためなのは分かるのですが、初めて触るには無駄に複雑で初心者殺しなので、せめて Blank Activity と名乗るのやめて欲しい。
 あとこの ToolBar がまた曲者で、これの使い方を調べ始めると、今知らなくていい事を延々調べるハメになって嫌気が差しますので、最初から調べようとするのはやめましょう。結論としては、
初心者は Blank Activity は使わない!
Empty Activity を使う!
2016.02.08 バージョン管理すべきファイル
 Andoroid Studio では、新規プロジェクトを作っただけでウンザリするほどファイルが作られるのですが、一人での開発とはいえ、一応ソースの巻き戻しができるように svn は使ってるので (お手軽 svn はこちら参照)、最低限どのファイルを管理すべきなのかは把握しときたいものです。

 で、親切なことに Android Studio はオススメの .gitignore を勝手に作ってくれてるので、svn の人もそれを真似して除外すればよさそうですね。
 ただ、.gitignore では .idea フォルダの中身 (プロジェクトの細かな設定データ群) はほぼ管理対象なんだけど、中のファイルを見ると平気で絶対パスが書かれてたりするし、試しに .idea ごと消してみたけど設定の大半は build.gradle から再構築されるようなので、とりあえずバッサリ切る事にしました。もし実は重要な設定が含まれてるようなら、その時また考える。
 結果、ウチではとりあえずは以下が管理対象外に。超スッキリした。
.gradle/
.idea/
*.iml
local.properties
build/
 あと、src 内に勝手に作られる、ユニットテスト用の test と androidTest フォルダも、今までユニットテスト用のソースを分けて書く文化がなかった人なもんで、実際に活用するまでは対象外 (というか、一旦削除) ですかね。ExampleUnitTest.java とか絶対に追加したくないし。
2016.02.29 svn 管理下のプロジェクトを開くとエラーが出る
 上で書いたとおり、ウチでは svn (TortoiseSVN) でバージョン管理してるんですが、Android Studio は、プロジェクトフォルダ内に svn の管理情報を見つけると、勝手に提携してバージョン管理を始めようとします。慣れれば楽なんでしょうけど、TortoiseSVN だけで充分だし、慣れないバージョン管理ツールを使うと大抵ロクでもない事が起きるので、正直余計なお世話です。

 で、別に害がないなら放っておくのですが、svn のリポジトリが非対応のバージョンの場合、起動のたびエラーが出るんですよね。もはやただの嫌がらせです。
20160229a.png
 なのでまた、タメイキをつきながら解決策を探した訳ですが、手段は2つ。
  • コマンドライン版の Subversion をインストールして管理させる。エラーは出なくなるけど、ファイルを増やすたびに 「追加する?ねえ追加する?」 とか聞いてきて正直ウザイ。
  • svn によるバージョン管理を無効化する。[Settings] の [Version Control] > [Subversion] にそれっぽいチェックボックスがあるけどそれは罠だ!莫迦め!。正解は [Version Control] のページの表にある [VCS] の欄を <none> にする でした。
  • 20160229b.png
2016.02.28 Android Studio でのユニットテスト
 長くなりそうなので、別記事で書く予定
2016.02.29 ライブラリプロジェクト作成と、他のプロジェクトから参照
 長くなりそうなので、別記事で書く予定
2016.02.28 モジュール名とプロジェクト名の変えかた
 モジュール名やパッケージ名は、Android Studio でモジュールやパッケージ名を右クリックして、Refactor > Rename で名前を変えれば、参照なども含めて、概ね問題なく変えてくれる。ただし、ユニットテストの現在アクティブでない方 (test か androidTest のどちらか) の中身はリネームされない ので注意。あと、ネットだと大抵 Refactor は不評みたいなので、やる前にバックアップをとったほうがいいのかも。

 プロジェクト名については、簡単にリネームする機能はない模様。.idea 内の設定ファイルを1つ1つ見ながらちまちま変えるでもいいけど、Android Studio を閉じてから プロジェクト内の *.iml, .gradle .idea build を一旦消し、プロジェクトのフォルダ名を変えて開きなおした方が早い と思う。(.idea を消すと一部の設定は初期化されるので、自己責任でお願いします)

 なお、Android アプリのパッケージ名については、モジュール名などと連動してる訳ではないので、別途 app/build.gradle の修正が必要。
2016.02.08 レイアウトのルート要素はGUIエディタでは変更できない
 アプリのUIのレイアウトをGUIのエディタで編集する際、ルートの要素を途中で ReleativeLayout から LinearLayout などに変えたくなっても、なぜかGUIエディタではできない。削除して作り直す事もできないので、ソースを直接変えるしかない。
20160208a.png
20160208b.png
 結局のところ、GUI のエディタだけではできない事が多々あったり、xml にエラーがあると GUI では一切触れなくなるので、結局 レイアウト の xml の読み書きはできないと話にならない模様。
 それと、いろいろいじって試しているうちに訳が分からないエラーになった場合、一旦全部ソースを消せばまっさらになるかと思ったのですが、本当にどうにもできなくなるのでやめましょう。
posted by ひこざ at 22:28| Comment(0) | 開発 - Android
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。