當前位置:編程學習大全網 - 源碼下載 - android 怎麽動態的加載類

android 怎麽動態的加載類

android 如何動態的加載類----app插件技術

轉自:.beyondsoft.activity;?

import?java.lang.reflect.Constructor;?

import?java.lang.reflect.InvocationTargetException;?

import?java.lang.reflect.Method;?

import?dalvik.system.DexClassLoader;?

import?android.app.Activity;?

import?android.content.pm.PackageInfo;?

import?android.os.Bundle;?

import?android.util.Log;?

public?class?PlugActivity?extends?Activity?{?

private?Class?mActivityClass;?

private?Object?mActivityInstance;?

Class?localClass;?

private?Object?instance;?

@Override?

protected?void?onCreate(Bundle?savedInstanceState)?{?

super.onCreate(savedInstanceState);?

Bundle?paramBundle?=?new?Bundle();?

paramBundle.putBoolean("KEY_START_FROM_OTHER_ACTIVITY",?true);?

paramBundle.putString("str",?"PlugActivity");?

String?dexpath?=?"/sdcard/FragmentProject.apk";?

String?dexoutputpath?=?"/mnt/sdcard/";?

LoadAPK(paramBundle,?dexpath,?dexoutputpath);?

}?

@Override?

protected?void?onStart()?{?

super.onStart();?

Method?start;?

try?{?

start?=?localClass.getMethod("onStart");?

start.invoke(instance);?

}?catch?(Exception?e)?{?

//?TODO?Auto-generated?catch?block?

e.printStackTrace();?

}?

}?

@Override?

protected?void?onResume()?{?

//?TODO?Auto-generated?method?stub?

super.onResume();?

Method?resume;?

try?{?

resume?=?localClass.getMethod("onResume");?

resume.invoke(instance);?

}?catch?(Exception?e)?{?

//?TODO?Auto-generated?catch?block?

e.printStackTrace();?

}?

}?

@Override?

protected?void?onPause()?{?

super.onPause();?

Method?pause;?

try?{?

pause?=?localClass.getMethod("onPause");?

pause.invoke(instance);?

}?catch?(Exception?e)?{?

e.printStackTrace();?

}?

}?

@Override?

protected?void?onStop()?{?

super.onStop();?

try?{?

Method?stop?=?localClass.getMethod("onStop");?

stop.invoke(instance);?

}?catch?(Exception?e)?{?

e.printStackTrace();?

}?

}?

@Override?

protected?void?onDestroy()?{?

//?TODO?Auto-generated?method?stub?

super.onDestroy();?

try?{?

Method?des?=?localClass.getMethod("onDestroy");?

des.invoke(instance);?

}?catch?(Exception?e)?{?

//?TODO?Auto-generated?catch?block?

e.printStackTrace();?

}?

}?

  • 上一篇:休閑運動相關的英文論文~!!
  • 下一篇:app開發公司開發壹個app多少錢?
  • copyright 2024編程學習大全網