[Android] 簡単な Button アプリを作る

Androidアプリの作り方の基本を習得するために、ボタンを押したら文字が変わるという簡単なアプリを作ってみます。
 
button_0023

Android Studio 2.2.2
Android 7.1

 

sponsored link

Button

 

プロジェクトの作成

 
Android Studio から「Start a new Android Studio project」を選択します。
 

androidstudio2-2-2mac
 
既にプロジェクトが表示されているのであれば
「File」「New」「New Project…」
を選択するか、「File」「Close project」で一旦プロジェクトを終了させてTop画面に入ります。以下プロジェクトの設定です。
 

 
プロジェクトの名前を入れます。
例: TestButton プロジェクトを作成する場合

  • Application name: TestButton
  • Company Domain: example.com
    • テストアプリであれば、公開しないので適当で大丈夫です
  • Project location: (例)C:¥Android¥workspace¥TestButton
    • プロジェクトを置く場所を選びます

 
ss2016-10-24-13-43-15
 
Android API を決めます
テスト用の実機があればそれに合わせておきましょう
 
ss2016-10-24-13-43-29
 
後からAPIレベルを build.gradle から変えることもできます
「Next」
 
Empty Activity が使いやすいです
 
ss2016-10-24-13-44-04
 
Activity の名前などを決めますが最初は初期値で始めてもいいでしょう
 
ss2016-10-24-13-44-31
 
プロジェクトが完成しました。
 
ss2016-10-24-13-45-24 

MainActivity.java

 
次はコードを記述していきます。
プロジェクトが作成されると「Project」のTAGで階層が表示されます。
主にMainActivity.java と activity_main.xml を使います。
 
ss2016-10-24-13-49-46
Java のコーディングは MainActivity.java にします。Empty Activityを選んだのですが、ある程度のコードは既に入っています。
 

 
activity_main.xml にはレイアウトを記述
やり方として2通りあります。「Design」を使って画面上にUIパーツを配置する方法と
「Text」で全てコードで書いていく方法です。プログラムをやる方はコーディングをメインとして補助的に「Design」を使うのがいいのではないかと思います。「Design」はあくまで静的なものしかわかりませんので。

 
ss2016-10-24-13-52-42
 
「Text」のタブをクリックしてここにコードを書きます
 
button_001b
 
MainActivity.javaのonCreate メソッドにボタンを設定する記述をします
すでに、
setContentView(R.layout.activity_main);
が記述されていてこれが
activity_main.xml ファイルをレイアウトとして登録し表示する設定です
ボタンの設定はこのレイアウトファイルから
id が buttonA というボタンに設定します
 

 
ここで、Button にエラーが表示されますが後でコードを正しく追加すれば消えます
 
次に TextView を設定します。TextViewは事前に onCreate() の前に作成して
private TextView textView;

onCreate() の中に
textView = (TextView) findViewById(R.id.textViewA);
 
その後に、ボタンが押された事が分かるようにリスナー登録します
何種類かやり方がありますが、ここは簡単に匿名クラスを使ってみます。その他の方法は こちら を参照してください。
 

 
ボタンが押された時の挙動を決めます。
ボタン押されるとflagがtrueかfalseかを判別して

  • trueなら「Hello」
  • falseなら「World」

が表示されるコードです
setText() でTextViewの文字列を設定
 

 
最終的なコードはこうなります
 
MainActivity.java

 

activity_main.xml

 
activity_main.xmlにレイアウトを設定します。
 
MainActivity.java では buttonA と textViewA を呼び出していますのでそれをここに作成します。
 
既にあるHello Worldを消して次のように設定します

ボタンのIDは以下で定義されています
android:id=”@+id/button”
TextViewも同様です
android:id=”@+id/text_view”
 
またRelativeLayoutから
LinearLayoutに変更して
android:orientation=”vertical”
を追加します
これは垂直方にUIが並ぶようにするためです
 
activity_main.xml

 

build.gradle

 
build.gradle(Module: app)はプロジェクトの依存関係、APIレベル、バージョンなどを設定するところです。使う頻度は少ないかもしれませんが他にもbuild.gradle(Project: XXOO)やsettings.gradleなどあります。
 
gradle01
 
プロジェクト作成時に設定したAPIレベルですが、後から変更するにはこれを使います。

  • compileSdkVersion
    • compileする API のバージョン
  • buildToolsVersion
    • Android SDK Build-toolsのバージョン
  • minSdkVersion
    • 対応できる最下位のAPIバージョン
  • targetSdkVersion
    • アプリケーションが対応しているAPIのバージョン
  • versionCode
    • アプリのリリース毎にアップデートさせるべきコード、1 -> 2 -> 3 …
  • versionName
    • ユーザーから見えるバージョンですversionCodeは上げてもこれはそのままにできます。リリース直後のバグ修正にはversionCodeは上げてもversionNameはそのままにするケース。1.0.0 -> 1.0.1 -> 1.1.0 ….

 

アプリを実行

 
実際のAndroidで実行させてみましょう。PCのスペックが低くなければエミュレーターで確認できますが、エミュレーターの立ち上がりに時間がかかるようであれば実機を使います
 
Windows の場合は、実機のUSBドライバーを入れてください。スマホメーカーから提供されていると思います。USB ドライバーの設定
Macの場合はこのドライバーの設定は必要ありませんが、スマホのUSBデバッグを有効にする必要があります。
 
メニューから「Run」->「Run ’app’」とするか
その下のapp の横にある三角のアイコンをクリックするとビルドが始まります
 
ss2016-10-24-14-06-26
 
ビルドが成功すると実行デバイスの選択になります
 
エミュレーターか実機を選択します。
 
ss2016-10-24-14-08-47
 
あまりレイアウトはぱっとしませんが
とりあえず、ボタンを押すとテキストが変わるアプリができました
 
button_0022
 
少し見栄えを良くしてみます

 
文字を大きく、色を変えて
全体を中央に寄せました
 

button_0023

関連ページ: