実践2.トースト表示とダイアログ表示
アプリ利用者に対してメッセージを表示する方法は、「トースト表示」と「ダイアログ表示」というものがあります。
どちらもよく使われるものですので、実際に表示してみましょう。

まずは、トーストの表示に挑戦してみましょう。

1.トーストの表示
TameshiActivityクラスを開きます。
「app > java > me.picnicapp.sample.picnicsample > TameshiActivity」。
下記ソースを onCreateメソッドの最後の行に足します。
Toast.makeText(this, "ためし!!!", Toast.LENGTH_LONG).show();
※このとき、「import android.widget.Toast;」が自動で足される場合がありますが、足されない場合は自分で足す必要があります。

完成したソースの全体像が下記です。
package me.picnicapp.sample.picnicsample;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class TameshiActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tameshi);

        Toast.makeText(this, "ためし!!!", Toast.LENGTH_LONG).show();
    }
}
1.1. importとは?
使いたい機能をソースに埋め込む場合(クラスを使いたい場合)、importが必要な場合があります。
※importとはどういったものか調べてみましょう。[importとは?]
1.2. 表示時間を短めに変更する
トーストの表示時間は「長め」と「短め」の2パターンが選べます。秒数は指定できません。
上記のプログラムでは「長め」に設定されているため、これを「短め」に変更してみます。

プログラム内の「Toast.LENGTH_LONG」を「Toast.LENGTH_SHORT」に変更してみましょう。表示時間が短くなったら成功です!
2.ダイアログの表示
さきほど作成した
「Toast.makeText(this, "ためし!!!", Toast.LENGTH_LONG).show();」
の行を削除して、今度はダイアログの表示を行ってみましょう。

onCreateメソッドの最後に下記ソースを入力します。コピペするのではなく、自分で入力してみましょう。
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
// アラートダイアログのタイトルを設定します
alertDialogBuilder.setTitle("タイトル");
// アラートダイアログのメッセージを設定します
alertDialogBuilder.setMessage("メッセージ");

// アラートダイアログの肯定ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alertDialogBuilder.setPositiveButton("肯定",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // ここにクリックされた時の処理を記述する
            }
        });
// アラートダイアログの中立ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alertDialogBuilder.setNeutralButton("中立",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // ここにクリックされた時の処理を記述する
            }
        });
// アラートダイアログの否定ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alertDialogBuilder.setNegativeButton("否定",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // ここにクリックされた時の処理を記述する
            }
        });

// アラートダイアログを表示します
alertDialogBuilder.show();
このとき、必要なimportが自動で足される場合がありますが、足されない場合は自分で足す必要があります。

必要なimportは
「import android.content.DialogInterface;」と
「import android.app.AlertDialog;」の
2つです。
2.1. ダイアログに動作を追加する
ダイアログのボタンが押された時の動作をプログラミングしていきます。
まずは、OnClickListenerの「中立」ボタンが押された場合の動作を実装してみましょう。
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
// アラートダイアログのタイトルを設定します
alertDialogBuilder.setTitle("タイトル");
// アラートダイアログのメッセージを設定します
alertDialogBuilder.setMessage("メッセージ");

// アラートダイアログの肯定ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alertDialogBuilder.setPositiveButton("肯定",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // ここにクリックされた時の処理を記述する
            }
        });
// アラートダイアログの中立ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alertDialogBuilder.setNeutralButton("中立",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // トーストを表示!!!
                Toast.makeText(TameshiActivity.this, "ためし!", Toast.LENGTH_LONG).show();
            }
        });
// アラートダイアログの否定ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します
alertDialogBuilder.setNegativeButton("否定",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // ここにクリックされた時の処理を記述する
            }
        });

// アラートダイアログを表示します
alertDialogBuilder.show();
トーストの表示を追加しました。
ここで、トーストの「this」が「TameshiActivity.this」になっているのに注目です。これにはちゃんと理由があります

トーストの第一引数にはActivityを継承したオブジェクトを渡す必要があります。「TameshiActivity」のメソッド内での「this」というのは、TameshiActivity自体を指します。
そのため、Toastの第一引数には「this」を指定すれば問題なく動きます。

しかし、「DialogInterface.OnClickListener」のonClickメソッド内での「this」というのは、DialogInterface.OnClickListenerを指します。
DialogInterface.OnClickListenerオブジェクトはActivityを継承していないオブジェクトであるため、Toastの第一引数に渡すことは出来ません。

「DialogInterface.OnClickListener」内から「TameshiActivity」を指すには、『クラス名.this』 と記述することがjavaでのルールとなっているため、ここでは TameshiActivity.this という記述になっているのです。
ここは難しい概念であるため、ひとまず「そういうものなのか」と考えておきましょう。

詳しくは、是非 [java スコープ] と [オブジェクト指向 継承] で調べてみてください。
3.補足:アンドロイドスタジオの折りたたみ機能
Android Studioには、プログラム全体の見通しを良くする機能があります。
ある程度のコードのまとまりを閉じて見通しを良くできますので、試しにやってみましょう。

メソッドの横にある 「-」 をクリックします。 「-」 が 「+」 に変わり、コードが格納表示されました。