Я предполагаю, что полное исключение: «IllegalStateException: нет экземпляра приложения».Поскольку вы не дали нам много деталей своего кода, я просто расскажу о том, где я обычно сталкиваюсь с этим исключением.
Это обычно вызывается попыткой получить экземпляр приложения до того, как вы вызвали конструктор приложения.Например, следующий код создаст эту ошибку:
public class HelloWorld extends UiApplication
{
public HelloWorld(){
pushScreen(new HelloWorldScreenBlank());
}
public static void main(String[] args) {
Application app = Application.getApplication();
HelloWorld theApp = new HelloWorld();
theApp.enterEventDispatcher();
}
}
Этот код создает следующий консольный код:
llegalStateException
no application instance
net_rim_cldc-8(4B84A78F)
Application
getApplication
0x2EFA
HW_5$2e0(4D1A6F55)
HelloWorld
main
0x167
Но следующий код не создает исключение:
public class HelloWorld extends UiApplication
{
public HelloWorld(){
Application app = Application.getApplication();
pushScreen(new HelloWorldScreenBlank());
}
public static void main(String[] args) {
HelloWorld theApp = new HelloWorld();
theApp.enterEventDispatcher();
}
}
Это работает, потому что экземпляр Application создается внутри конструктора для объекта UiApplication.Как и в предыдущем коде, мы пытались получить экземпляр до того, как существовал объект Application.
Я обычно сталкивался с этим, пытаясь запустить GPS из main () или из статического блока.Но есть несколько классов, которые неявно вызывают getApplicaiton, поэтому, если вы явно не вызываете getApplication, то, возможно, API-интерфейс, который вызывает ваше создание.Я бы попытался переместить код из main в конструктор вашего приложения, если вы можете.
Вот поиск в Google, который выдаст список классов из API 6.0, которые выдают это исключение:
создает сайт IllegalStateException Blackberry: www.blackberry.com/developers/docs/6.0.0api