¿Cómo carga Android las clases dinámicamente?
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);
}
@overwrite p>p>
¿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();
}
}