Java 如何列出在Android中实现特定接口的所有类?
在Java(NetBeans)中,我用Java 如何列出在Android中实现特定接口的所有类?,java,android,reflection,Java,Android,Reflection,在Java(NetBeans)中,我用 ClassPathLoader pathLoader = new ClassPathLoader("."); try { //get Classes Hashtable ht = pathLoader.getClasses(); Set s = ht.keySet(); Iterator iter = s.iterator(); String fullName = null; while(iter.hasNext()) { try
ClassPathLoader pathLoader = new ClassPathLoader(".");
try {
//get Classes
Hashtable ht = pathLoader.getClasses();
Set s = ht.keySet();
Iterator iter = s.iterator();
String fullName = null;
while(iter.hasNext()) {
try {
fullName = (String) iter.next();
//create class
Class cls = Class.forName(fullName);
//get interface from the class
Class[] interfaces = cls.getInterfaces();
for(int i = 0; i < interfaces.length; i++) {
if(interfaces[i].getName().equals("IMyObserver.IFeature")) {
//Field field = cls.getDeclaredField("LOCATION");
//String location = (String)field.get(null);
Constructor cons2 = cls.getDeclaredConstructor(List.class);
Object oo = cons2.newInstance(qList);
System.out.println(fullName);
}
}
ClassPathLoader-pathLoader=newclasspathloader(“.”);
试一试{
//上课
Hashtable ht=pathLoader.getClasses();
设置s=ht.keySet();
迭代器iter=s.Iterator();
字符串fullName=null;
while(iter.hasNext()){
试一试{
全名=(字符串)iter.next();
//创建类
Class cls=Class.forName(全名);
//从类中获取接口
类[]接口=cls.getInterfaces();
for(int i=0;i
这很好,但在Android中不起作用。我认为问题出在类路径上。有人有想法吗?所有内容都在同一个项目文件中!!!!当你说它在Android上不起作用时,你不是说什么不起作用。你没有得到任何结果?你得到一个异常?什么?