AdSheepは、新米バックエンドエンジニアの技術分野に留まらないライフハック風ブログです

ログを内部ストレージに吐き出すUtil関数を作った

Android

どうも、ShouNです。
Androidで特定の情報をLogcatに出力するにはLog関数を使えばよいですが、AndroidStudioを起動したPCに端末を接続した状態にしておく必要があります。
テスト用端末にアプリをビルドしておいて、端末をPC接続していない状態でアプリを実行した際に特定の情報を記録する必要が出たため、Utilクラスに以下のような実装を行いました。

/**
* 引数文字列を内部ストレージのlog.txtに出力する
* **/
public static void logFileOutput(Context context, String log){
    try {
        FileOutputStream outStream = context.openFileOutput("log.txt", Context.MODE_PRIVATE | Context.MODE_APPEND);
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outStream));
        writer.write(log);
        writer.newLine();
        writer.flush();
        writer.close();
    }catch(IOException e){
        e.printStackTrace();
    }
}

logFileOutput()に引数として渡した文字列は、端末の内部ストレージのlog.txtに記録されます。
textの格納場所は/data/data/[package名]/files/です。
AndroidStudioを起動して、ウィンドウ右下にあるデバイス・ファイル・エクスプローラータブから確認できます。

ShouN
ShouN

今月はブログ強化月間として1日1記事目標にします。

小さな情報でもこつこつまとめていこうと思います。

三日坊主にならないように気をつけます…。

コメント