在 Android Titanium 模块中访问图像时出现 ResourceNotFoundException 错误
ResourceNotFoundException error when accessing image in Android Titanium module
我正在为 Titanium 应用程序开发一个 Android 模块,我必须生成一个通知。 Android SDK 强制我进行 setSmallIcon()
调用以将 png 资产作为通知图标包含在内。我已将 icon_notification.png 资产放在我模块的 /platform/android/res/drawable 文件夹中,并(试图)在代码中获取它打电话
TiRHelper.getResource("drawable.icon_notification")
但是当我构建调用 ant 的模块时,出现了以下错误:
[javac] Note: [KrollBindingGen] Running Kroll binding generator.
[javac] Note: [KrollBindingGen] No binding data found, creating new data file: org.appcelerator.titanium.bindings/connecthings.json
[javac] Note: [KrollBindingGen] Found binding for proxy Beacon
[javac] Note: [KrollBindingGen] Found binding for module Connect
[javac] Note: [KrollBindingGen] Generating JSON: file:/Users/***/Development/***/modules/android/***/android/build/generated/json/org/appcelerator/titanium/bindings/***.json
[javac] warning: The following options were not recognized by any processor: '[kroll.checkTiContext]'
[javac] /Users/***/Development/***/modules/android/***/android/src/***/***/***/***/ConnectModule.java:76: error: unreported exception ResourceNotFoundException; must be caught or declared to be thrown
[javac] .setSmallIcon(TiRHelper.getResource("drawable.icon_notification"))
[javac] ^
[javac] Note: /Users/***/Development/***/modules/android/***/android/src/***/***/ti/***/BeaconProxy.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 1 error
似乎引发了 ResourceNotFoundException
异常,生成器未找到资产集
我是不是把文件放错地方了?
平台文件夹还有 android folder.The 完整目录的子文件夹是 "android/platform/android/res/drawable/"。也可以查看build文件夹下是否创建了资源
发布的错误是在模块的构建步骤中出现的。
在此步骤中,我认为资源尚未到位,因此,将 TiRHelper 方法包装在 try...catch 语句中,如@Saeed Sharman 建议的 wiki 中所写,可解决问题。
所以,工作版本很简单:
try {
TiRHelper.getResource("drawable.icon_notification");
catch (ResourceNotFoundException e) {
...
}
我正在为 Titanium 应用程序开发一个 Android 模块,我必须生成一个通知。 Android SDK 强制我进行 setSmallIcon()
调用以将 png 资产作为通知图标包含在内。我已将 icon_notification.png 资产放在我模块的 /platform/android/res/drawable 文件夹中,并(试图)在代码中获取它打电话
TiRHelper.getResource("drawable.icon_notification")
但是当我构建调用 ant 的模块时,出现了以下错误:
[javac] Note: [KrollBindingGen] Running Kroll binding generator.
[javac] Note: [KrollBindingGen] No binding data found, creating new data file: org.appcelerator.titanium.bindings/connecthings.json
[javac] Note: [KrollBindingGen] Found binding for proxy Beacon
[javac] Note: [KrollBindingGen] Found binding for module Connect
[javac] Note: [KrollBindingGen] Generating JSON: file:/Users/***/Development/***/modules/android/***/android/build/generated/json/org/appcelerator/titanium/bindings/***.json
[javac] warning: The following options were not recognized by any processor: '[kroll.checkTiContext]'
[javac] /Users/***/Development/***/modules/android/***/android/src/***/***/***/***/ConnectModule.java:76: error: unreported exception ResourceNotFoundException; must be caught or declared to be thrown
[javac] .setSmallIcon(TiRHelper.getResource("drawable.icon_notification"))
[javac] ^
[javac] Note: /Users/***/Development/***/modules/android/***/android/src/***/***/ti/***/BeaconProxy.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 1 error
似乎引发了 ResourceNotFoundException
异常,生成器未找到资产集
我是不是把文件放错地方了?
平台文件夹还有 android folder.The 完整目录的子文件夹是 "android/platform/android/res/drawable/"。也可以查看build文件夹下是否创建了资源
发布的错误是在模块的构建步骤中出现的。 在此步骤中,我认为资源尚未到位,因此,将 TiRHelper 方法包装在 try...catch 语句中,如@Saeed Sharman 建议的 wiki 中所写,可解决问题。
所以,工作版本很简单:
try {
TiRHelper.getResource("drawable.icon_notification");
catch (ResourceNotFoundException e) {
...
}