设定:
- dictionaryUtil.jar - 包含单个类和包含字典文件的文件夹。主要方法是作为其功能的简单测试驱动程序。
- TestDriver.java - 独立类,用于在独立模式下(在android之外)测试jar的功能。它只有一行:" DictionaryUtil.main(null);" - 这个工作
- MainActivity.java - 测试android应用程序,它与TestDriver完全相同,但在android中的onCreate()内。唯一的一行:" DictionaryUtil.main(null);"这不起作用。 (由于下面的原因,从DictionaryUtil中返回NPE)
醇>
问题是在android内部运行时调用getResource()会返回null:
- URL url = ClassLoader.getSystemClassLoader()。getResource(" shortlist"); // jar里面的文件夹
- URL url = ClassLoader.getSystemClassLoader()。getResource(dictionaryUtil.jar); // jar名称
上面的代码在DictionaryUtil.main()中,它在独立模式下工作,并在应用程序中运行时返回null。正在读取jar,因为它执行DictionaryUtil类,但它无法获取资源。即使我将上面的代码片段(a,b)直接放入我的onCreate()方法中,我也得到了相同的结果。我在这里不知所措。