Android

第3回 mixi Android Trainingまとめ

More than 3 years have passed since last update.


githubでpull-requestを出す

今週はゲストインタビューがなかったので、AndroidTrainingをforkして以下のようなコマンドを打って、pull-requestを出しました。

# リモートのブランチを確認

git branch -r
# ブランチの状態に入る(表現が難しい)
git checkout sandbox
# いまいるブランチから新しくブランチを作る
git checkout -b my-great-pull-request
# 変えたいファイルを編集する
vi README.md
# 変更の差分を確認
git diff
# commit準備ファイルとして登録
git add README.md
# Changes to be committedになってますよね?
git status
# コミット(変更を確定)
git commit
# 変更履歴に自分の変更が入ってますよね
git log
# リモートにpushします
git push origin my-great-pull-request:my-great-pull-request

あとはブラウザに戻って、github上でmixi-inc/AndroidTrainingでを開き、ボタンをポチポチ押すだけでpull-requestを作成できます。


リソース管理について

文字列や画像、スタイルなど、リソースとして表現できるものの扱い方を学習しました。

src/main/res以下に色々なリソースを記述、管理できるようになっています。

注意点として、画像はまあresで管理するのは当たり前として、文字列やスタイルもちゃんとリソースとして管理しましょうね、という点です。最初はなんで面倒なことしないといけないんだと思う方もいるかもしれませんが、国際化対応や変更を容易にするためには一般的に必要とされている事です。


Context、あるいはResourceについて

資料のサンプルではカジュアルにgetStringとして文字列を取り出していますが、実はこれはActivityの中だからできる事です。リソースの参照はContextやResouceの仕事なので、ActivityやContextを継承していなかったりResourceを持たないクラスの中では利用できないです。その為、Contextを引き回す事でリソースを利用できるようにするなどの工夫が必要になります。


多様なデバイスへの対応

細かい仕様は色々あるんですが、一番重要な内容としては「多様なデバイスへの対応」で

以下のような事が実現できる仕組みがandroidアプリの根幹にあるんです、っていうところを噛み締めていただければと思います。

context_interface_accessing_resource_1.png