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

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

 
 

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


 

ここでは MainActivity.java から activity_main.xml にある TextView 要素を見つけるために 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 をインポートしてください」という警告です。
 

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

警告が消えましたか?

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


 

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

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

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 = については次回以降の「変数と型」で紹介します。
 
 

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' ボタンを押します。


 

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


 
 

次に行うこと

クラスとメソッドについて少し具体的にイメージが湧いてきたでしょうか?

コードを書くことで少しずつプログラミングらしくなってきましたね。

次回は「変数と型」について学んでいきましょう
 

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

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA