The Master of Swift App Coding

Swiftプログラミングでのアプリ作成方法やWordPressのテクニック解説

Kotlinでprint()のように操作途中のログ(デバッグ)を出力表示させる方法

投稿日:2017年10月21日 更新日:

KotlinでSwiftのprint()って何に当たるの?
Kotlinでログ(デバッグ)を出力表示させる方法は?
こんな疑問に答えていきます。
iPhoneアプリ製作者の僕が解説していきます。

はじめに

アプリを開発していると、ログの打ち出しって大事ですよね。

ボタンを押した時に、ちゃんと機能しているのか
どこの分岐に辿り着いているか
などを1つ1つ確認したい時があります。

それがデバック作業であり、ログ確認作業です。

Androidの実機を繋いで操作をした時に、パソコン側に表示されるメッセージを自分で設定できます。

初めに理解しておいた方がいいですね。
swiftではprint()って書くやつです。
Javaのログ出力フレームワークを使用していきます。

 

作業環境

Android Studio Version 2.3.3
Kotlin 1.1.5
Mac OS Sierra 10.12.6

 

1.冒頭に「import android.util.Log」を記述

 

2.ログを打ち出したい場面にLog.d("TAG", "ここに出したい文字列を打ちます”)と書く

fun orangeButtonTapped(view: View) {
        if (applemode == true) {
            Log.d("TAG", "Applemode中はオレンジボタンは無効")
        } else {

 

TAGの部分を省略するとエラーになります

 

3.ここの「Android Monitor」を押す

※Android Monitorタブを選ぶ他はいじらなくてもそのままで大丈夫だと思います。
Debugカテゴリーを選んでいるのは、デバッグタグをつけたログだけを表示させたいからで、Verboseでも見れました

 

4.実機をつなげてアプリを操作する

 

5.ここに設定したログが表示されます

見にくいですね
Xcodeの3倍見にくいです

 

6.補足

(1)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

(2)TAGってなに?

タグ機能で、目印のようにできるようです。

5秒考えましたが、個人的にこの機能は、スマートでないので、不要だと思います。
省略するとエラーになるのでとりあえず書いてます。

(3)ログの種類の分類

ログの種類を分類できるようです。
swiftではprint()しか使わないで、用が足りてます。
個人的にこの機能は、スマートでないので、不要だと思います。

Log
https://developer.android.com/reference/android/util/Log.html

(4)ログのウィンドウは、もっと見やすくならないの?

必要がある人は、フィルタとか、表示するジャンルを選べたりするようです

 

まとめ

Kotlinでprint()のように操作途中のログ(デバッグ)を出力表示させる方法について書いてきました。

おさらいすると、冒頭に「import android.util.Log」を記述し、ログを打ち出したい場面にLog.d("TAG", "ここに出したい文字列を打ちます”)と書く。
「Android Monitor」を押し、実機をつなげてアプリを操作すると、ウィンドウの下部にログとして表示されました。

TAGやジャンルわけ、ログのフィルター機能なども使えます。

ぶっちゃけ、Swiftより、複雑ですね。
機能が多いのはいいのですが、よく使う機能は洗練されていた方がいいなと感じました。

Ad-336px-stinger8

Ad-336px-stinger8

-Kotlin
-, , , , , , ,

Copyright© The Master of Swift App Coding , 2018 All Rights Reserved.