知識0からandroidアプリつくる

読者です 読者をやめる 読者になる 読者になる

知識0からAndroidアプリつくる

知識0からAndroidアプリ作ります

例外処理について (try,catch)

前回はIntentを使って別Activityに数値を送ることに成功した。

しかし、入力欄が空欄(null)の状態で計算開始を押すとアプリが落ちるバグが見つかったので今回は例外処理を使ってエラー表示を出すようにした。

例外処理よくわからんから敬遠してたがめっちゃ簡単だった。

使用するのはtryブロックとcatchブロック

使い方はこんな感じ

 try {
//例外が発生しそうな処理
}
catch(例外クラスの型 変数名){
//例外が発生したときの処理
}
んで、tryブロックにどこまで入れればいいかわかんなかったから
計算開始ボタンのonClickメソッドの中身をぶちこんでみたら普通に動いた。
便利すぎる。
public void onClick(View view) {
EditText edit=(EditText)findViewById(R.id.editText);
try {
Editable getText = edit.getText();
int int_text = Integer.parseInt(getText.toString());
Intent intent = new Intent(MainActivity.this, Result.class);
intent.putExtra("DATA1",int_text);
startActivity(intent);
}
catch(Exception e){
TextView error=(TextView)findViewById(R.id.textView4);
error.setText("数字を入力してください!");
}
}
catchブロックには計算開始ボタンの上にエラーテキストを表示する処理を書いてみた。
実行するとこんな感じになった。

f:id:sora5773:20170131232615p:plain

これでアプリが落ちなくなった。

とりあえずエラー出そうな処理は片っ端から例外処理作っといたほうがいいのかもしれない。

 

ちなみに文字色の変え方

android:textColor="#FFFFFF" 
これをxmlのTextViewに追加。
16進数表記のRGBはググればでてくる。