KotlinでSwiftのprint()って何に当たるの?
Kotlinでログ(デバッグ)を出力表示させる方法は?
こんな疑問に答えていきます。
本記事の内容
アプリを開発していると、ログの打ち出しって大事ですよね。
ボタンを押した時に、ちゃんと機能しているのか
どこの分岐に辿り着いているか
などを1つ1つ確認したい時があります。
それがデバック作業であり、ログ確認作業です。
Androidの実機を繋いで操作をした時に、パソコン側に表示されるメッセージを自分で設定できます。
初めに理解しておいた方がいいですね。
swiftではprint()って書くやつです。
Javaのログ出力フレームワークを使用していきます。
僕はWordPressのブログでは月2万PV、自作のiPhoneアプリを2つリリースしています。
そんな僕が解説していきます。
作業環境
Android Studio Version 2.3.3
Kotlin 1.1.5
Mac OS Sierra 10.12.6
※記事内にプロモーションを含む場合があります
冒頭に「import android.util.Log」を記述
ログを打ち出したい場面にLog.d("TAG", "ここに出したい文字列を打ちます”)と書く
fun orangeButtonTapped(view: View) { if (applemode == true) { Log.d("TAG", "Applemode中はオレンジボタンは無効") } else {
TAGの部分を省略するとエラーになります
ここの「Android Monitor」を押す
※Android Monitorタブを選ぶ他はいじらなくてもそのままで大丈夫だと思います。
Debugカテゴリーを選んでいるのは、デバッグタグをつけたログだけを表示させたいからで、Verboseでも見れました
実機をつなげてアプリを操作する
ここに設定したログが表示されます
見にくいですね
Xcodeの3倍見にくいです
補足
Kotlinでもprint()が使えるけど、見れない
このログ表示作業は、swift3.0ではprint()でできます。
kotlinでもprint()が使えると書いてあるようです。
10秒だけ読んだんですが、おそらく
「printしてる(出力してる)ことはしてるけど、Android Studioでは見れないよ」
ということなんだと思います
Kotlinlang.org
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/print.html
Stack over Flow (Kotlin Android print to console)
https://stackoverflow.com/questions/38525403/kotlin-android-print-to-console
TAGってなに?=目印の機能だがぶっちゃけ必要なさげ
タグ機能で、目印のようにできるようです。
5秒考えましたが、個人的にこの機能はスマートでないので不要だと思います。
省略するとエラーになるのでとりあえず書いてます。
ログの種類の分類
ログの種類を分類できるようです。
swiftではprint()しか使わないで、用が足りてます。
個人的にこの機能は、スマートでないので、不要だと思います。
Log
https://developer.android.com/reference/android/util/Log.html
ログのウィンドウは、もっと見やすくならないの?
必要がある人は、フィルタとか、表示するジャンルを選べたりするようです
というわけで今回は以上です。
ぶっちゃけ、Swiftより複雑ですね。
機能が多いのはいいのですが、よく使う機能は洗練されていた方がいいなと感じました。