developer.android.comのTraining、Building Your First Appをしてみました
http://developer.android.com/training/basics/firstapp/index.html
Eclipseとコマンドラインで進められています
Android Studio でやったので、異なる点をあったのでメモします
Ubuntu 12.04でAndroid Studio 0.8.9でやりました
模索しながらやったのですが、もっと良いやり方がある気がしています
Building Your First App
JDKだの環境構築の説明
-> Creating an Android Project
設定画面が違います
ここまでの代わりにドットインストールのAndroidアプリ開発入門がわかりやすくていいと思います
http://dotinstall.com/lessons/basic_android
(次で出てくるAVDの作り方もこちらで)
こちらも参考に
UbuntuのJavaを入れ直してみた
UbuntuにAndroid Studioをインストールしてみる
-> Running Your App
sdkのバージョン指定は、AndroidManifest.xmlでなく build.gradleに書かれています
–> Run on a Real Device
こちらを参考に
UbuntuにAndroid端末をUSB接続で認識させる
–> Run on the Emulator
スペック低めのUbuntuマシンでやってて、面倒だったのでやりませんでした
Building a Simple User Interface
Viewの説明
-> Create a Linear Layout
Linear Layoutの説明
fragment_main.xmlがありません
代わりにactivity_my.xmlを修正しました(Blank Layoutを作ってできたlayout/内のxml)
-> Add a Text Field
EditTextを設置します
@はXMLからresource objectを参照するときにつける(違うXMLの値を見るとか)
+ははじめてつけるresource IDにつける
※ resource objectの説明はこの章を読み直す
-> Add String Resources
文字列をstrings.xmlに書いて分けておくことで多言語対応などやりやすいらしい
-> Add a Button
ボタン追加
幅、高さにwrap_contentとしておくと中の文字に合わせた大きさになる
-> Make the Input Box Fill in the Screen Width
テキストボックスとボタンの大きさを割合で表示
layout_weightは最初0
layout_weightを0より大きくすると、割合で大きさがいっぱいへ広がる
(1,0とすると1のものがあまったスペース分広がり、1,1とすると半々になる)
実行はEclipseと同じような実行ボタン(shift+F10)
ここまでで、画面一枚のアプリできあがり
Starting Another Activity
2つ目の画面の追加とデータの渡し方
-> Respond to the Send Button
ボタンのクリック処理をつくります
fragment.xmlはないので、activity_my.xml
javaのファイルは、srcディレクトリでなく、src/main/java/(プロジェクト名)ディレクトリ
-> Build an Intent
Intentというオブジェクトが2つのコンポーネント間のやりとりをしてくれます
importしてないclassの自動import記載は、ALT+Enterでできます
Intentの説明はここを読み直す
-> Create the Second Activity
Activityの追加は、File>New>Activity
画面が違います
PlaceholderFragmentはできてない
onCreateメソッドがActivityのインスタンスを作成する
–> Add the title string
タイトル文字列の用意
Android Studioでも自動でしてくれます
–> Add it to the manifest
android:parentActivityNameに親のActivityを指定すると前の画面へ戻るナビゲーションを自動で用意してくれる
-> Receive the Intent
getIntentでIntentが受け取れ、セットしてた文字列がとれる
-> Display the Message
前の画面で渡した文字列を表示する
TextViewをコードだけで生成し、layoutへ表示させる
setContentView(textView)でlayoutへ表示
これで簡単な2画面アプリができました