Androidで例外メッセージを出力・表示する方法をサンプルコード付きで解説
この記事では、Androidアプリで発生した例外(Exception)のメッセージを取得して画面に出力する方法を、サンプルコードとともにわかりやすく解説します。
ステップ1:Android Studioで新規プロジェクトを作成する
Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な情報をすべて入力して、新しいプロジェクトを作成してください。
ステップ2:レイアウトファイル(activity_main.xml)を編集する
res/layout/activity_main.xml に以下のコードを追加します。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
android:layout_marginTop="100dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/text"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
</LinearLayout>
このレイアウトでは、縦方向に要素を並べるLinearLayoutの中にTextViewを1つ配置しています。このTextViewは、あとで捕捉した例外メッセージを画面に表示するために使用します。
ステップ3:MainActivity.java にコードを追加する
src/MainActivity.java に以下のコードを記述します。
package com.example.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = findViewById(R.id.text);
try {
int a = 0;
int b = 10;
int result = b / a;
System.out.println(result);
} catch (Exception e) {
text.setText(e.toString());
e.printStackTrace();
}
}
}
コードのポイントは次のとおりです。
- tryブロック内で変数aに0を代入し、意図的にゼロ除算(b / a)を発生させています。整数を0で割るとArithmeticExceptionがスローされます。
- catchブロックでは、e.toString()によって例外のクラス名とメッセージを文字列として取得し、setText()を使ってTextViewに表示しています。
- e.printStackTrace()を呼び出すことで、Logcatにもスタックトレースが出力されます。デバッグ時の原因調査に役立ちます。
アプリを実行して動作を確認する
それでは、アプリを実際に実行してみましょう。Android端末をパソコンに接続し、Android Studioでプロジェクト内のアクティビティファイルを開いて、ツールバーの「Run」アイコンをクリックします。実行デバイスとして接続した端末を選択すると、端末の画面に例外メッセージが表示されます。

-
Android SQLiteでレコードのIDを取得して表示する方法
本記事では、Androidに標準搭載されているSQLiteデータベースに保存されたレコードのID(主キー)を取得し、画面に表示する方法を、実際のコード例とともに詳しく解説します。 AndroidにおけるSQLiteとは SQLiteはオープンソースのSQLデータベースエンジンで、データをデバイス上のテキストファイルとして保存します。AndroidにはSQLiteの実装が最初から組み込まれており、リレーショナルデータベースの基本的な機能をすべて利用できます。さらに、JDBCやODBCのような接続確立の手順が一切不要で、すぐに使い始められるのが大きな魅力です。 このサンプルでは、名前と給与を入
-
Androidで線を引く方法とは?Canvasを使った描画手順をステップ解説
この記事では、Androidアプリで線を描画する方法を、実際のサンプルコードとともにステップごとに解説します。BitmapとCanvasを組み合わせれば、ボタンをタップしたタイミングで画面上に線を簡単に描くことができます。 作成するアプリの概要 今回作成するのは、画面下部の「Draw Line」ボタンを押すと、中央のImageView上に赤い横線が表示されるシンプルなアプリです。レイアウトの定義、MainActivityへの処理の記述、マニフェストファイルの確認という流れで進めていきます。 ステップ1:新規プロジェクトを作成する Android Studioを起動し、「File」→「New P