1. 配置文件config.properties
name=cn.mchina.client7.ui.HomeActivity1
2. 工具类homefactory
public class HomeFactory {
// 单例对外提供实例
public static HomeFactory homeFactory;
private HomeFactory(){};
public static HomeFactory getInstance(){
if(homeFactory == null){
homeFactory = new HomeFactory();
}
return homeFactory;
}
/**
* 生成一个HomeActivity
* @param name 配置文件名称
* @return HomeActivity的字节码
*/
public Class newHomeActivity(String name){
// 读取配置文件拿到完整类名
Properties p = new Properties();
InputStream in = HomeFactory.class.getClassLoader().getResourceAsStream(name);
try {
p.load(in);
} catch (IOException e) {
e.printStackTrace();
}
String className = p.getProperty("name");
// 反射生成对象
Class clazz = null;
try {
clazz = Class.forName(className);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return clazz;
}
}