3

私は他の誰かによって開発されたプロジェクトで立ち往生しています。その非常に大きなアプリです。したがって、コードを理解するために、フローを知りたいのですが、基本的には、現在携帯電話で実行されているアクティビティ (コード内の Java ファイル) の名前です。すべてのアクティビティにブレークポイントを設定できますが、他に方法はありますか?

4

5 に答える 5

3

ActivityLifecycleCallbacksを使用すると、すべてのアクティビティの処理を追加する必要はありません。登録を 1 回行うだけで、すべてのアクティビティで機能します。

public class MyApplication extends Application implements
   ActivityLifecycleCallbacks{

@Override
public void onCreate() {
    super.onCreate();           
}

@Override
public void onActivityStopped(Activity activity) {
    Log.i("Tracking Activity Stopped", activity.getLocalClassName());

}

@Override
public void onActivityStarted(Activity activity) {
    Log.i("Tracking Activity Started", activity.getLocalClassName());

}

@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
    Log.i("Tracking Activity SaveInstanceState", activity.getLocalClassName());
}

@Override
public void onActivityResumed(Activity activity) {
    Log.i("Tracking Activity Resumed", activity.getLocalClassName());
}

@Override
public void onActivityPaused(Activity activity) {
    Log.i("Tracking Activity Paused", activity.getLocalClassName());
}

@Override
public void onActivityDestroyed(Activity activity) {
    Log.i("Tracking Activity Destroyed", activity.getLocalClassName());
}

@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
    Log.i("Tracking Activity Created", activity.getLocalClassName());
    }
}

activity.getLocalClassName()を介して、どのアクティビティかを識別できることに注意してください。

于 2016-06-22T06:31:41.310 に答える
0

単純 -

各アクティビティで onStart() メソッドをオーバーライドし、次のようにログを出力します -

    @Override
    protected void onStart() {
        super.onStart();
        Log.d("TAG -> ", "YOUR_ACTIVITY_NAME");
    }

デバイスでアクティビティが開始されると、logcat にログが出力されます。それが役立つことを願っています!

于 2016-06-22T06:31:03.040 に答える
0

マニフェストから起動アクティビティを把握し、使用されているメソッドと変数を見つける..「使用箇所の検索」( Ctrl+G ) を使用できます。

于 2016-06-22T06:36:46.380 に答える