麻烦根据sqlite数据库中的数据在Blackberry UI应用程序上推送屏幕

|| 我正在尝试根据是否创建数据库以及是否创建数据库比创建emapty数据库或是否有一些数据来推动主UiApplication(MyApp)屏幕。 但是,当我运行此代码时,我的balckberry应用程序jsts会挂起.. 任何帮助表示赞赏:) 我已经检查了模拟器中是否存在虚拟SDCard,甚至我还具有在运行时检查SDCard是否可用的代码。 带有Eclipse Helios的JDE 6.0版 插入BlackBerry Simulator:9800 OS:Windows 7 32位旗舰版 以下是我在应用程序中使用的代码
public MyApp()
    {   

        try {
                MyAppURI  = URI.create(\"file:///SDCard/BlackBerry/Database/\"
                        + \"MyApp.db\");
                this.setMyURI(MyAppURI);

                boolean flag = false;
                flag = DatabaseFactory.exists(getMyURI());
                if ( flag == false){
                    db = DatabaseFactory.create(getMyURI());
                    db.close();
                    new DatabaseSchema(); // this will simpaly create setting table in databse MyApp.db i am closing the database there
                    pushScreen(new Settings());
                }else{
                    db = DatabaseFactory.open(getMyURI());
                    Statement st = db.createStatement(\"select count(*) from Setting\");
                    Cursor cursor = st.getCursor();
                    if (cursor.isEmpty() == true){
                        pushScreen(new Settings());
                    }else{
                        pushScreen(new Reports());
                    }               
                }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
    
已邀请:
理想情况下,您应该在它们自己的线程中运行这些数据库操作,因为它们阻止了操作。我发现有帮助的一件事是,如果我的ѭ1不能正确显示,则从构造函数中推送它们时,将它们放在in2调用中。这使系统可以完成显示displaying3ѭ之前需要完成的所有操作,然后将其推送。     

要回复问题请先登录注册