[Android]アプリ開発を行なっていると、屋外でのデバッグ時などでUSBケーブルでのADB接続が出来ない場合や、特定の動作ログをファイルに出力したい時があります。実装したのでは芸が無いので、少しオブジェクト指向を意識して実装してみました。オブジェクト指向を意識したログ出力クラス構成オブジェクト指向プログラミングの基本は、最初に汎用的なクラスを作って、それを目的(開発案件)に応じて特化させていくことにあると思います。汎用的なクラスデータを渡すとそれに改行コード(CRLF)を付けて書き込んでいく単純なクラスです。汎用的かどうかはわかりませんが、ある程度他に使い道もありそうなクラスではないでしょうか。クラス名、メソッド名などもログ出力という目的を意識せず、なるべく無難なネーミングにしています。※ダブルクリックで全選択出来ます。{mOut.close();}}}次に、汎用的なクラスをラップしたクラス上述のOneLineWriterクラスを使用して、ログ出力を行うクラスです。ここでは仮想クラスとして宣言し、書き込みメソッドとファイルクローズメソッドのみを実装して、OneLineWriterクラスの生成(=ログファイル名の決定)はサブクラスに任せることにします。※ダブルクリックで全選択出来ます。{e.printStackTrace();}}}最後に、実際に使用するためのクラスこのサンプルでは、SimpleDateLoggerクラスのインスタンスを生成した時点のシステム時刻が、そのままログファイル名になります。具体的には、makeWriter()メソッドにてシステム時刻の取得、そしてファイル名とファイル拡張子を指定して、OneLineWriterクラスを生成しています。このメソッドはAbstractLoggerクラスでabstractで宣言されているため、サブクラス側で自由に実装することが可能です。※ダブルクリックで全選択出来ます。EXT);}}どのような時に使えるのか?作っておいてあれですが、普通ならあまり使い道が無いかもしれません。1つのアプリケーションの中で、いくつか違ったファイル名でデータ出力しなければならない時など・・・でしょうか。オブジェクト指向設計の練習には、こういったシンプルなクラス構成が一番です。救ってミラクルハンターZ!(略してスクミズ!)iOS/Android各ストアにて絶賛公開中です!スポンサーリンク関連記事Android:TextViewに下線付き文字列を設定するAndroid:端末の傾きと方位を、センサーを利用して取得するAndroid:Stateパターンを使ったアプリの状態遷移の実装例コメントを残す返信をキャンセルする。最近買った書籍アプリ・ゲームプランナー完全マニュアル・ゲーム制作のイロハが学べます。・日本語の数ある言い回しを知ることができます。シナリオ書きにはぜひおすすめ。Project」によって管理されています。Reserved.このページの先頭へ。