Red de conocimiento informático - Computadora portátil - ¿Cómo carga Android las clases dinámicamente?

¿Cómo carga Android las clases dinámicamente?

¿Cómo carga Android clases dinámicamente? Tecnología de complemento de aplicación

Reimpreso de: beyondsoft.activity

¿Importado? Java .lang .reflejar constructor;

¿Importar? Java .lang .reflejar .invocaciónobjetivoexcepción;

¿Importar? java.lang.reflect.method;

¿Importar? Sistema dal vik .cargador de clases dex;

¿Importar? Android.app.activity;

¿Importar? Contenido de Android . pm . información del paquete;

¿Importar? Paquete de sistema operativo Android;

¿Importar? Android . util . registro;

¿Público? ¿clase? ¿Actividad del enchufe? ¿extender? ¿Actividad? {

¿Privado? ¿clase? mActivityClass

¿Privado? ¿Objeto? mActivityInstance

¿Clase? localClass

¿Privado? ¿Objeto? Instancia;

@override

¿Protegida? ¿Vacío? onCreate(paquete? savedInstanceState)? {

super .oncreate(savedInstanceState);

¿Paquete? paramBundle? =?¿Nuevo? paquete();

param paquete . put boolean(" KEY _ START _ FROM _ OTHER _ ACTIVITY ", true);

paramBundle.putString("str ", "actividad del complemento) ");

¿Cadena? ¿dexpata? =?"/Tarjeta SD/proyecto de fragmento . apk ";

¿Cadena? ruta de salida dex? =?"/mnt/tarjeta SD/";

LoadAPK(paramBundle,?dexpath,?dex ruta de salida);

}

@overwritep>

¿Protegido? ¿Vacío? al iniciar()? {

super .onstart();

¿Método? Iniciar;

¿Probar? {

¿Empezar? =?clase local . get método(" onStart ");

start.invoke(instancia);

}?Catch? (¿Excepción? e)? {

//?Todo? ¿Generado automáticamente? ¿Atrapar? block

e.printstacktrace();

}

}

@overlay

¿Protegido? ¿Vacío? enReanudar()? {

//?Todo? ¿Generado automáticamente? ¿método? Colilla de cigarrillo

super .en resume();

¿Método? Reanudar;

¿Probar? {

¿Reanudar? =?clase local . get método(" en currículum ");

resume.invoke(instancia);

}?Catch

? (¿Excepción? e)? {

//?Todo? ¿Generado automáticamente? ¿Atrapar? block

e.printstacktrace();

}

}

@overlay

¿Protegido? ¿Vacío? en pausa()? {

super . en pausa();

¿Método? Pausa;

¿Intentar? {

¿Pausar? =?clase local . get método(" en pausa ");

pause.invoke(instancia);

}?Catch? (¿Excepción? e)? {

e . printstacktrace();

}

}

@override

¿Protegido? ¿Vacío? enParada()? {

super . onstop();

¿Probar? {

¿Método? ¿Detener? =?clase local . get método(" al detener ");

stop.invoke(instancia);

}?Catch? (¿Excepción? e)? {

e . printstacktrace();

}

}

@override

¿Protegido? ¿Vacío? enDestroy()? {

//?Todo? ¿Generado automáticamente? ¿método? Colillas de cigarrillos

super . en destroy();

¿Probar? {

¿Método? ¿Des? =?clase local . get método(" al destruir ");

des.invoke(instancia);

}?Catch? (¿Excepción? e)? {

//?Todo? ¿Generado automáticamente? ¿Atrapar? bloquear

e.printstacktrace();

}

}