我最近不得不准备一个BB应用程序提交到BB应用程序世界,但我在运行应用程序时遇到问题。基本上,我已经创建了一个新的Blackberry项目,使用“使用现有源”选项指向我从实际开发此应用程序的开发人员那里获得的资源。构建应用程序正常,但是当我想启动应用程序时,它会立即退出NullPointerException。
调试应用程序时,调试器会在以下行停止:
Bitmap bitmaplogo = EncodedImage.getEncodedImageResource("img/logo.png").getBitmap();
出现以下错误:
[0.0] FRIDG: could not find img/logo.png
我有一个img / logo.png,位于/res/img/logo.png。将路径指定为“res / img / logo.png”,“/ stl / img / logo.png”,“logo.png”的尝试没有奏效。我个人认为这不是问题所在,这个确切的代码库非常适合其他开发人员。我更倾向于开始研究工具,JDK / JRE版本,项目设置。也许资源文件应该明确地包含在构建中?
其他一些信息:
之前有没有人遇到过同样的问题?
答案 0 :(得分:4)
文件名和扩展名区分大小写。 logo.png和logo.PNG是从应用程序的角度来看的不同文件。因此,请注意命名文件和文件夹。
您在应用程序中获得的图像的根文件夹是源文件包的根文件夹。
例如,如果您具有以下文件夹结构:
YourProject
src\
com\
company\
etc\
img\
然后,图片的根文件夹将是:YourProject\src
位于YourProject\img
文件夹中的图片文件对于您的应用程序代码是不可见的,除非img
文件夹位于YourProject\src
且完整路径为:
YourProject\src\img
并且您的图像文件具有如下所示的完整路径:
YourProject\src\img\logo.png
在这种情况下,您可以通过指定路径来加载图像:img\logo.png
没有它,只需指定:logo.png
如果您有多个具有相似文件名的图像,建议指定完整路径。
如果项目中有多个文件logo.png
,并且只通过指定文件名“logo.png”加载它,则会加载项目中第一个找到的图像。
恢复:将您的img
文件夹转移到src
文件夹。
答案 1 :(得分:0)
不确定这是否与您的问题相同,但是当我得到这些类型的错误时,通常意味着我需要强制Eclipse中的项目进行刷新(右键单击项目并选择Refresh)然后重建