Java入門

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

 

ここまでの記事はこちら
 

前回は「クラスとメソッド」について紹介しました。

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

それでは Android Studio を開いて始めていきましょう
 


 

「Hello World」を変更する

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

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

と紹介しました。
 

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

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


 

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

activity_main.xml

まず MainActivity.java から 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.java

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

 

import

画像のように TextView の部分が赤くなり、青いメッセージが出るかもしれません。


 

これは「android.widget.TextView をインポートしてください」という警告です。
 

青いメッセージが出ている状態で alt キーと return キーを同時に押してみてください。
 

警告が消えましたか?

コードを見てみると、6行目あたりに import android.widget.TextView; が追加されているはずです。


 

import はクラスファイルを取り込むためのものでしたね。

ここでは TextView クラスを MainAvtivity クラスで使うために TextView クラスをインポートしています。
 

この import は自動で追加されることもありますが、今後同じように警告が表示された時は alt キーと return キーを同時に押して、必要な import を行ってください。
 
 

findViewById

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

メソッドには

  1. 処理をするだけのメソッド
  2. 処理をして値を返すメソッド

があると紹介しました。
 

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

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


 

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


 

なんのこっちゃという感じですが、仕組みは前回紹介した基本的なメソッドと同じです。


 

void ではなく return で値を返しているので、findViewById メソッドは処理をして値を返すメソッドです。

さらに引数に id を指定しています。引数はメソッド内で使われる値でしたね。
 

MainActivity.java に書いた findViewById メソッドでも R.id.textView を引数として渡しています。


 

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

* TextView textView = という書き方については「第7回 変数と型」で紹介します。
 
 

引数 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.java から変更を加える場合は「id を設定して findViewById メソッド」という手順が必要になります。

アプリ開発で何度も使うことになるので覚えておきましょう
 

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

「Hello World」を変更する

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

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

 

TextView に表示する文字列をセットするため使うのが「TextView クラスの setText メソッド」です。
 

setText メソッドも調べてみると、このようになっています。


 

setText メソッドは void なので戻り値がないメソッドで、引数で渡した文字列が TextView に表示される仕組みになっています。
 

findViewById メソッドは「id から要素をみつけてその要素を返すメソッド」でしたが、setText メソッドは「引数の値を TextView に表示するだけのメソッド」です。
 
 

アプリを実行する

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

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


 

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


 
 

まとめ

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

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

 

この講座の完全版について

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

私はこれまでにオンライン講座と書籍に35万円以上使ってプログラミングを勉強してきました。

しかし、講座や書籍でプログラミングの基礎を学んでも

  • それを使って何ができるのか
  • いつ役立つのか
  • 次に何をすれば良いのか

と分からないことばかりでした。
 

特に Android アプリ開発(Java)には苦労しました。
 

Android 開発には Java を学ぶ必要があると知って Java の入門書を買いましたが、文字と数字を出力するばかりで Android 開発との関係性がわからず、途中で読むのを辞めてしまいました。
 

次に Android Studio を使ったアプリ開発の本を数冊か買いましたが、今度は Java の解説が少なくて、説明も専門用語ばかりであまり読む気がしなかったことを覚えています。
 

この経験から、これからプログラミングを始めようという方に

  • 「プログラミングって楽しい!」
  • 「もっと勉強してみたい!」
  • 「もっとアプリを開発してみたい!」

と思っていただける入門講座を作れないかとずっと考えていました。
 
 

約2年かかってようやく完成したのが「Android 開発のための Java 入門講座」です!

 
 

 

この講座では Android Studio で簡単なアプリを開発しながら Java の基礎・Android 開発を学ぶことができます。

  • Android 開発に興味があるけれど、何から始めれば良いか分からない方
  • Java に一度挫折してしまった方

に特にお勧めの講座になっていますので、ぜひお試しください
 

 
 

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

Saraさんはじめまして。
私はjavaの入門書を最近読み終えた初心者です。
javaを使ったAndroidアプリの作り方を探して、このサイトにたどり着きました。

解説が丁寧で、すごく分かりやすいです!!
初めてAndroid Studioを使ったのですが、第1回から止まらず順調に進めることができました。続きも楽しみにしてます(^^)

numa_kyo
numa_kyo
10 months ago

今まで諦めていたandroid studioの学習を再開するきっかけになりました。
いろいろなサイトの中で一番わかりやすかったです。

4
0
この記事にコメントするx