studio otra orden móviles llamar intent desarrollo curso cambiar aplicaciones activity actividad android android-lifecycle

otra - Android: ¿Cómo registrar todas las llamadas de métodos de actividad?



llamar otra actividad android (3)

Me gustaría tener una manera rápida de poder registrar todas las llamadas a todos los súper métodos llamados por la actividad.

He intentado este https://github.com/stephanenicolas/loglifecycle

pero por alguna razón no funciona con AppCompatActivity ...

Podría pedirle a mi IDE que anule todos los métodos; ¿Pero como agregar Log a todos ellos? ¿A mano? Debe haber una forma..


Es hora de buscar AspectJ http://code.google.com/p/android-aspectj/ y este es el artículo perfecto http://fernandocejas.com/2014/08/03/aspect-oriented-programming-in-android/

Solo necesitas configurar la ejecución del aspecto.

aspect Trace{ pointcut traceMethods() : (execution(* com.xyz.*.*(..))); before(): traceMethods(){ Signature sig = thisJoinPointStaticPart.getSignature(); String sourceName = thisJoinPointStaticPart.getSourceLocation().getWithinType().getCanonicalName(); Log.d("AOPLogging: " + sourceName, "Some method has called") } }

sobre expresiones que puedes leer en AOP


Podrías ir y jugar con stacktrace.

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();

De los documentos:

El último elemento de la matriz representa la parte inferior de la pila, que es la invocación de método menos reciente en la secuencia.

EDITAR: Parece que hay una publicación completa sobre esto HERE


EDITADO: Si puede permitirse ir solo API 14+ puede usar

public void registerActivityLifecycleCallbacks (Application.ActivityLifecycleCallbacks callback)

en la aplicación ( https://developer.android.com/reference/android/app/Application.html#registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks) )

No proporciona todos los métodos, pero tiene los más utilizados.

abstract void onActivityCreated(Activity activity, Bundle savedInstanceState) abstract void onActivityDestroyed(Activity activity) abstract void onActivityPaused(Activity activity) abstract void onActivityResumed(Activity activity) abstract void onActivitySaveInstanceState(Activity activity, Bundle outState) abstract void onActivityStarted(Activity activity) abstract void onActivityStopped(Activity activity)