【发布时间】:2013-01-26 00:24:30
【问题描述】:
我的应用程序启动后立即进行了版本命中检查。 但是当模拟器加载它发送请求和所有这些东西时。在我的应用程序启动后,它给出版本命中值 NULL,但在我关闭应用程序并再次打开它之后,它给出了正确的值。
1) 我的问题是为什么会发生这种行为,我应该怎么做应用程序启动和版本检查在第一次尝试时给出正确的值!
2) 用户甚至没有执行应用程序,为什么它的代码行被执行?????
public MyScreen() {
Bitmap bitmap = Bitmap.getBitmapResource("background.png");
this.getMainManager().setBackground(
BackgroundFactory.createBitmapBackground(bitmap));
synchronized (Application.getEventLock())
{
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
Status.show("Please Wait...", Bitmap.getPredefinedBitmap(Bitmap.INFORMATION), 1000);
LoginScreen();
}
});
}
现在它的作用是它只显示背景屏幕,没有任何服务,但是当我再次启动它时它可以工作。有什么问题?谢谢
【问题讨论】:
-
您没有在上面显示任何进行任何 Web 服务调用的代码。如果
LoginScreen()这样做,请显示该代码。另外,请澄清为什么要执行它的代码行是什么意思。您的意思是在用户使用普通图标启动应用程序之前,您会在应用程序中看到一些代码行? 哪些行代码?你上面显示的那些?您可能还需要显示您的主程序(主要的UiApplication子类)。 -
这是“MyApp”类代码:codepad.org/WiyIf4vy 这是“MyScreen Code”代码:
-
您的意思是在这里发布更多代码吗?我只看到指向您的 MyApp.java 的链接,看不到
MyScreen的其余部分。 -
是的,已断开连接,这是 MyScreen 类代码:codepad.org/CpYsanuY 所以当我将它安装在设备/模拟器中时。在单击图标之前,它开始向 Web 服务发送调用。在单击启动图标之前,它会在第 579 行“NPE”中给出空指针异常。当我不使用 invokeLater 时,它会给出 RuntimeException ,或者如果我使用 Dialog 框,那么它会说 Can't show UI Component over event dispatcher。单击图标后,它只会显示背景屏幕,仅此而已。但是关闭应用程序并重新启动它不会产生这种行为并且工作正常。
-
您是否在 BlackBerry_App_Descriptor.xml 文件中设置启动时自动运行?
标签: web-services blackberry blackberry-simulator