我正在上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")
}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
每当您为Android开发时,您都会需要很多叫做“ logcat”的东西。
每当您打开Android Studio时,都会看到以下内容:
这些是您正在记录的不同级别的“问题” /信息,以便您可以了解正在运行的代码以及代码是否按预期工作。
现在,您说了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));
}
在您的示例中,您被告知要记录日志,因为您的老师试图教给您一项活动的生命周期,即活动的功能按顺序执行。