《移动终端软件开发技术》第二周作业:改写回调函数及用LogCat调试

/ 0评 / 0

修改之前建立的“MyAndroid of 你的学号”的工程,在MainActivity.java文件中改写九个事件回调函数,及使用LogCat添加函数调用的日志点,通过手机操作,同时监测LogCat调试信息,实现程序Activity组件生命周期的函数调用监测。

首先在MainActivity,java中添加九个回调函数,并在函数中使用LogCat输出信息,告诉目前函数在哪个阶段。
具体代码如下:

package bupt.a2017211874.MyAndroid;

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

public class MainActivity extends Activity {
    private static String TAG="LIFECYCLE";//用于过滤日志的标签

    //onCreate()
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.i(TAG,"(1)onCreate()");
    }

    //onStart()
    @Override
    protected void onStart(){
        super.onStart();
        Log.i(TAG,"(2)onStart()");
    }

    //onRestoreInstanceState()
    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState){
        super.onRestoreInstanceState(savedInstanceState);
        Log.i(TAG,"(3)onRestoreInstanceState()");
    }

    //OnResume()
    @Override
    protected void onResume(){
        super.onResume();
        Log.i(TAG,"(4)onResume()");
    }

    //onSaveInstanceState()
    @Override
    protected void onSaveInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);
        Log.i(TAG, "(5) onSaveInstanceState()");
    }

    //onRestart()
    @Override
    protected void onRestart(){
        super.onRestart();
        Log.i(TAG,"(6)onRestart()");
    }

    //onPause()
    @Override
    protected void onPause(){
        super.onPause();
        Log.i(TAG,"(7)onPause()");
    }

    //onStop()
    @Override
    protected void onStop(){
        super.onStop();
        Log.i(TAG,"(8)onStop()");
    }

    //onDestroy()
    @Override
    protected void onDestroy(){
        super.onDestroy();
        Log.i(TAG,"(9)onDestroy()");
    }
}

然后插上手机运行调试

看到输出日志后,添加自定义过滤器。

点击Edit Filter Configuration

在Log Tag中填入之前定义好的标签名称,我的是LIFECYCLE,确定保存。

选择过滤器。

之后控制台显示的就是过滤后的信息

启动的输出

程序分别顺序执行了onCreate(),onStart(),onResume()函数。

在按手机返回键关闭程序,输出为:

之后执行onPause(),onStop(),onDestroy().

所以程序的整个执行顺序是124789

发表评论

电子邮件地址不会被公开。 必填项已用*标注