Log.i()是什么意思

时间:2019-09-13 15:10:27

标签: android kotlin

我正在上Android Studio课,老师教了我

Log.i("data", "onCreate called")

在重写的方法中。我只是不明白为什么。

这是整个代码:

package com.myfirstapplication.theclass4

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Log.i("data", "onCreate called")    //Log turns red -> Alt+Enter
    }

    override fun onStart() {
        super.onStart()
        Log.i("data", "onStart called")
    }

    override fun onResume() {
        super.onResume()
        Log.i("data", "onResume called")
    }

    override fun onPause() {
        super.onPause()
        Log.i("data", "onPause called")
    }

    override fun onStop() {
        super.onStop()
        Log.i("data", "onStop called")
    }

    override fun onDestroy() {
        super.onDestroy()
        Log.i("data", "onDestroy called")
    }
}

2 个答案:

答案 0 :(得分:0)

这意味着以 info 严重性将消息记录到 LogCat

可以在the docs中轻松找到此信息,但是您可以在this doc中阅读有关logcat的更多信息

答案 1 :(得分:0)

每当您为Android开发时,您都会需要很多叫做“ logcat”的东西。

每当您打开Android Studio时,都会看到以下内容:

enter image description here

这些是您正在记录的不同级别的“问题” /信息,以便您可以了解正在运行的代码以及代码是否按预期工作。

现在,您说了Log.i("key","value")为什么存在,以及为什么要这么做。

这只是意味着,您记录了一个事件,该事件只是为了记录正常的“信息”,因为Log.i中的“ i”代表信息。

您尝试记录的事件的严重性级别不同。

例如,如果要记录一个导致应用程序崩溃的事件,则将其记录为Log.e("key","value");,其中“ e”表示错误。

您可以找到here的严重级别。

现在,您为什么需要这些不同的等级?

简单来说,因为您需要根据要记录的内容来过滤它们。因此,例如,如果您的应用程序崩溃了,您可以在上图中标记的下拉菜单的“错误”部分中看到它。因此,您可以说这是用于组织您/系统正在记录的数据。

Logs中的第一个参数是关键,因此您可以通过logcat中的搜索栏快速搜索属于某个类别的特定日志,第二个参数用于添加更多信息。

示例:

void multiply(){
   int a = 3*4;
   Log.i("multiplication","Value of a is:"+String.valueOf(a));
}

在您的示例中,您被告知要记录日志,因为您的老师试图教给您一项活动的生命周期,即活动的功能按顺序执行。