アンドロイド - Toast&Logを出力する方法

By JS | Last updated: August 19, 2017

トースト

この章では、ToastとLog出力方法について説明します。 Toastはユーザーに通知などのメッセージを与える目的で使用します。 Logは、開発をしながら、このコードが正常に動作することを確認するデバッグの目的で使用します。

まず、Toastについて説明します。 Toastは、画面の下部に浮かぶメッセージです。過去ProjectのSubActivity01でonCreate()関数に以下のようにToastコードを入力してください。新しいオブジェクトであるToastを使用するため、importも追加が求められます。

package com.example.xyz.myapplication;

import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;

/**
 * Created by XYZ on 2017-08-13.
 */

public class SubActivity01 extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sub01);

        Context context = getApplicationContext();
        CharSequence text = "SubActivity01 is started";
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
    }
}

今のアプリを実行して確認してみてください。 SubActivity01のonCreate()に入れたので、このActivityが実行されるとToastが見えます。 toast

Toast APIの簡単な説明です。

  1. Toast.makeText()は、Toastオブジェクトを生成します。

ParameterでContext、Text、Durationを入力します。

  • ContextはAppまたはActivityのIDと考えることができます。

(重要なのは、後で紹介します)

  • Textは、画面に表示される文字列です。
  • Durationは、画面にToastが表示される時間です。

(Toast.LENGTH_SHORTとToast.LENGTH_LONGがあります) 2. Toast.show()は、生成されたToastオブジェクトを画面に表示するようにする関数です。 この関数を呼び出していない場合、画面に表示されません。

上記の5行のコードが長く見える場合以下のように簡単に1行書くこともできます。

Toast.makeText(this, "SubActivity01 is started", Toast.LENGTH_SHORT).show();

Toastの例とAPIについて簡単に調べてみました。 Toastについてもっと知りたいですか? Toast:Android API referenceのToastの詳細な説明があります。そして Toast:Android API guideに簡単な例もあります。

ログ

Device接続またはEmualator(Virtual machine)を実行した状態で、Android Studioの下部のAndroidMonitorタブをクリックし、以下の画面のようにLogcatタブをクリックし、ドロップメニューから**自分のアプリ(packagename)**を選択してください。自分のアプリが実行中でなければリストに存在しないことがあります。ない場合は、アプリを実行した後確認してください。

toast

そして、右の画面で、VerboseShow only selected applicationを選択してください。このように設定すると、自分のアプリから出力されるすべてのログを見ることができます。 toast

次のコードのようにTAGオブジェクトを定義して、Log APIを使用してコードを入力してください。 Logオブジェクトを初めて使用するのでimportでオブジェクトを追加が求められます。

package com.example.xyz.myapplication;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class MainActivity extends AppCompatActivity {
    public static final String TAG = "MainActivity";

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

        Log.v(TAG, "onCreate: activity is started.");
    }

    void onButtonClick(View v) {
        Intent intent = new Intent(this, SubActivity01.class);
        startActivity(intent);

        Log.d(TAG, "onButtonClick: started SubActivity01");
    }
}

SubActivity01もLogコードを入力してください。

package com.example.xyz.myapplication;

import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;

/**
 * Created by XYZ on 2017-08-13.
 */

public class SubActivity01 extends AppCompatActivity {
    public static final String TAG = "SubActivity01";

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

        Context context = getApplicationContext();
        CharSequence text = "SubActivity01 is started";
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();

        Log.d(TAG, "onCreate: SubActivity01 is started");
    }
}

今実行して確認してみてください。 それぞれのログは、Logがある関数が実行されると、出力されます。ログを見れば、日付、時刻、TAG、Messageがあります。この内容で自分のアプリが意図どおりに動作していることやバグがあるのかなどをデバッグすることができます。 toast

Logの種類は、通常、6つがあり、優先順位が最も低いものから高い順に整理しました。 Log APIで5種類のLogを出力させることができ、Assertは問題がある場合に出力されるLogにLog APIと使用方法が異なります。

名前 Method
Verbose(優先順位最低) Log.v(String tag、String msg)
Debug Log.d(String tag, String msg)
Info Log.i(String tag, String msg)
Warning Log.w(String tag, String msg)
Error Log.e(String tag, String msg)
Assert(優先順位の最も高い) Assert:Android API referenceを参照してください

Log APIの一般的な使用方法は、ParameterにTagとMessageを入れるとします。そのほかOverlodingされたMethodもあります。詳しくは Log: Android API referenceを参照してください。

まとめ

LogとToastはアプリを開発する際に、デバッグなどで頻繁に使用するので、最初に説明しました。

このチュートリアルで使用したコードは、GitHub:Toast&Logで確認することができます。

参考

Related Posts

codechachaCopyright ©2019 codechacha