カテゴリ

open all | close all

KotlinでAndroidアプリ#26

定数、文字を別ファイルへ

三目並べは完成したがプログラムとしてはまだ不十分だ。それは定数や表示文字をプログラム内で記述しているからだ。この程度の規模なら問題ないが規模が大きくなるにつれ保守性が損なわれる。そこで定数や文字を別ファイルで一括管理する。

定数を別ファイルへ

定数を別ファイルにする。画面左側からパッケージを選択しマウス右クリック->New->Kotlin File/Classを選択。

パネルが開くので「Object」を選択しファイル名「Const」を入力しEnter(ファイル名は何でもよいです)。するとファイルConstが作成される。

このファイルへ定数を定義する。

通常「class」と記述する箇所に「object」と記述している。このobjectはインスタンス化することなく利用できるのだ。逆にインスタンス化できないため複数の生成は不可能となる。

定数を設定するプログラムは複数生成する必要がない(複数生成しても無駄)ため、このobjectでの定義が適している。

変数定義で「const」と記述するとゲッター/セッターメソッドを自動生成しない。このため効率的といえる。変数のアクセスは暗黙的にpublicで定義されるので、ファイル名の後にドット(.)を付け変数名を記述する。

文字を別ファイルへ

通常、文字を一括管理するファイルは自動生成されている、res/values/strings.xmlへ記述する。

次のようにキーワード、文字列で定義していく。また配列も定義できる。

strings.xmlを開くと既にキーワード「app_name」が定義されている。これはアプリ名の定義なので、「対戦型三目並べ」へ変更する。そしてプログラム内の文字列を全て定義していく。

プログラムからのアクセスはgetString、配列の場合はgetStringArray関数を利用する。

部品のテキスト属性値としても利用できる。

ちなみに用意されていたキーワード「app_name」を変更したので、アプリのタイトルが変わった。

これでゲームとして完成した。ソースファイル一式を掲載しておく。


Kotlinの学習、第一弾としては終了だ。しかしゲームとしては面白くも何ともない。そこで次回から機能追加していく。

前へ<ーーー>つづく