Kotlin入門

Android開発のためのKotlin入門 第7回「Hello Worldを書き換える」

 

ここまでの記事はこちら
 

前回は「クラスと関数」について紹介しました。

今回はクラスと関数についてもう少し詳しく調べながら、「Hello World」という文字列を MainActivity.kt から書き換えてみましょう。
 


 

「Hello World」を変更する

第5回「Android Studioの使い方とActivityについて」の中で

  • activity_main.xml はアプリの見た目を作る場所
  • MainActivity.kt はアプリの機能を作る場所

と紹介しました。
 

activity_main.xml に置いた TextView や Button などの要素は MainActivity.kt から操作することができます。

activity_main.xml を開いてみると「Hello World!」という TextView がありますね。


 

この TextView の文字列を MainActivity.kt から書き換えてみましょう。
 
 

activity_main.xml

まず MainActivity.kt から TextView を見つけるために id を設定します。

activity_main.xml を開いて、2行目を追加してください。

 
 

Clear Read-Only Status というメッセージが出てきた場合は「OK」を押して下さい。


 
 

id は android:id="@+id/id名" と書く決まりになっていますが、このコードを覚える必要はありません。

id と書けば自動補完機能で入力候補が出てくるので、簡単に入力することができます。


 

一つ注意点は「同じアクティビティ内に同じ id を持つ要素を置くことはできない」ことです。

例えば TextView が 3つあった場合、textView1, textView2, textView3 のように全て異なる名前にする必要があります。

id 名はその要素を表していれば基本的にどんな名前でも良いですが「最初の文字は小文字で、単語の区切りは大文字」で書きます。

例)message, hello, textView, myText

 
 

MainActivity.kt

次に MainActivity.kt を開いて、6行目を追加します。

 

import

5行目あたりを見ると import android.widget.TextView が自動的に追加されていると思います。


 

これは TextView に関するコードがまとめられている TextView クラスを使うための import です。

このように Android Studio では必要なクラスを自動的に import してくれます。
 
 

自動的に追加されない場合

自動的に import できなかった場合は、以下のように TextView の部分が赤くなり、青いメッセージが表示されます。


 

まずは第3回「Android Studioの初期設定」から自動 import が有効になっているかをご確認ください。

正しく設定しても自動で追加されない場合は、青いメッセージが出ている状態で alt キーと return キーを同時に押してみてください。
 

5行目あたりに import android.widget.TextView が追加されます。
 

設定を有効にしておけば import は基本的に自動で追加されますが、もし警告が表示された時は alt キーと return キーを同時に押して、必要な import を行ってください。
 
 
 

findViewById

findViewByIdは「idからビューを見つける」という意味で、前回紹介した関数(メソッド)の一つです。

関数には

  1. 処理をするだけの関数
  2. 処理をして値を返す関数

があると紹介しました。

findViewById 関数(メソッド)はどちらなのか調べてみましょう。

関数とメソッド

Android 開発では似ていて異なる「関数・メソッド」という言葉が出てきます。現時点で違いを説明するのは難しいので、この講座では Java で書かれたものをメソッド、Kotlin で書かれたものを関数と呼んで進めていきます。

 

Windows の場合は Ctrl キー、Mac の場合は command キーを押しながら findViewById をクリックしてください。


 

AppCompatActivity クラスにある findViewById メソッドが表示されました。


 

このコードは Java で書かれているので少し書き方が異なっていますが、return があるので結果を返していることが分かりますね。

さらにメソッド名の後ろのカッコに引数があって、メソッド内で id を使うことも分かります。


 
 

MainActivity.kt で findViewById メソッドを使う時も R.id.textView を引数として渡しました。


 

このように findViewById メソッドは「引数で受け取った id からその id を持つ要素を見つけて返す」という処理しています。
 
 
 

R.id.textView

引数 R.id.textView の R は Resource(リソース)の頭文字です。

Android Studio 画面左側にあるプロジェクト構造に res フォルダがあります。


 

この res フォルダにある全てのレイアウトや画像には ID が付けられて、R クラスで管理されています。

R.id.textView は「R クラスにある TextView の ID」を使うための書き方です。


 

メモ
R の部分にエラーが出て id が認識されないエラーがたまに起こります。Android Studio を再起動すれば解決することがほとんどですので、困ったときは再起動してみてください。
参考:「Cannot resolve symbol R エラーの原因と解決法

 

ボタンでも画像でも activity_main.xml の要素に対して MainActivity.kt から変更を加える場合は、id を使って紐づける必要があります。

ここでは一般的な findViewById メソッドを使いましたが、これを使わない方法も講座の後半で紹介します。

これで MainActivity.kt から「Hello World」を変更する準備は完了です。
 
 

「Hello World」を変更する

次に「Hello World」を「こんにちは」というテキストに変えてみましょう。

13行目を追加してください。

 

ここでは TextView クラスの setText メソッドを呼び出しているのですが、Kotlin では .text 書くだけで文字列を変更することができます。
 
 

アプリを実行する

最後にアプリをエミュレータで実行してみましょう。

'Run app' ボタンを押します。


 

「こんにちは」と表示されたら成功です


 
 

まとめ

クラスと関数について具体的にイメージが湧いてきたでしょうか?
コードを書くことで少しずつプログラミングらしくなってきましたね!

この続きは講座の完全版でお読みいただけます。

 

Android 開発のための Kotlin 入門講座

Kotlin入門講座についてはこちら

Kotlin の入門書や入門講座では「文法を学んでもそれをいつどこで使うのか分からない」「アプリ開発との関連が分からない」ということがよくあります。
 

Android 開発のための Kotlin 入門講座では「Kotlin 文法を学ぶ→アプリ開発する」を繰り返して、合計3つのアプリを開発していきます。

  • とにかく Android アプリを開発してみたい!
  • Android 開発に興味があるけれど、何から始めれば良いかわからない
  • プログラミングに挫折したことがある

という方にお勧めの講座になっています。

この講座でプログラマーへの第一歩を踏み出しましょう
 

 
 
 

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
guest

CAPTCHA


0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx