Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » UltraLiteJ » UltraLiteJ verwenden » Praktische Einführung: Eine BlackBerry-Anwendung erstellen » Teil 1: UltraLiteJ-Anwendung auf BlackBerry erstellen

 

Lektion 3: Eine UltraLiteJ-Datenbank erstellen

In dieser Lektion schreiben Sie Code, um eine UltraLiteJ-Datenbank zu erstellen und mit ihr eine Verbindung herzustellen. Der Code zum Erstellen einer neuen Datenbank ist in einer Singleton-Klasse namens DataAccess definiert und wird vom HomeScreen-Konstruktor aufgerufen. Die Verwendung einer Singleton-Klasse gewährleistet, dass jeweils nur eine Datenbankverbindung offen ist. Auch wenn UltraLiteJ mehrere Verbindungen unterstützt, ist es bei der Entwicklung üblich, nur eine einzige Verbindung zu verwenden.

  1. Ändern Sie den HomeScreen-Konstruktor, um ein DataAccess-Objekt zu instanzieren.

    Hier ist eine vollständige, aktualisierte HomeScreen-Klasse. Das DataAccess-Objekt wird als Variable auf Klassenebene gehalten, damit andere Teile des Codes darauf zugreifen können.

    class HomeScreen extends MainScreen {
    
        HomeScreen() {
            
            // Set the window title
            LabelField applicationTitle = new LabelField("Hello BlackBerry");
            setTitle(applicationTitle);
            
            // Add a label to show application status
            _statusLabel = new LabelField( "Status: Started");
            add( _statusLabel );
            
            // Create database and connect
            try{
                _da = DataAccess.getDataAccess(false);
                _statusLabel.setText("Status: Connected");
            }
            catch( Exception ex)
            {
                _statusLabel.setText("Exception: " + ex.toString() );
            }        
        }
        private LabelField _statusLabel;
        private DataAccess _da;
    }
  2. Erstellen Sie eine Datei namens myapp\DataAccess.java im HelloBlackBerry-Projekt.

  3. Stellen Sie eine getDataAccess-Methode zur Verfügung, die eine einzelne Datenbankverbindung gewährleistet.

    package myapp;
    
    import ianywhere.ultralitej.*;
    import java.util.*;
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.component.*;
    import net.rim.device.api.ui.container.*;
    
    class DataAccess {
        DataAccess() {    }
        
        public static synchronized DataAccess getDataAccess(boolean reset) 
                      throws Exception
        {   
            if( _da == null ){
                _da = new DataAccess();
                ConfigObjectStore _config =
                 DatabaseManager.createConfigurationObjectStore("HelloDB");
                if(reset)
                {
                    _conn = DatabaseManager.createDatabase( _config );
                } 
                else
                {
                    try{
                        _conn = DatabaseManager.connect( _config );
                    }
                    catch( ULjException uex1) {
                        if( uex1.getErrorCode() !=
                            ULjException.SQLE_ULTRALITE_DATABASE_NOT_FOUND ) {
                            System.out.println( "Exception: " +
                                                uex1.toString() );
                            Dialog.alert( "Exception: " + uex1.toString() +
                                          ". Recreating database..." );
                        }
                        _conn = DatabaseManager.createDatabase( _config );
                    }
                }
                // _da.createDatabaseSchema();
            }
            return _da;        
        }
        private static Connection _conn;
        private static DataAccess _da;
    }

    Diese Klasse importiert das ianywhere.ultralitej-Paket aus der UltraLiteJ.jar-Datei. Die Schritte zum Erstellen einer Datenbank und zum Verbinden mit ihr sind folgende:

    1. Legen Sie eine Konfiguration fest. In diesem Beispiel ist dies ein ConfigObjectStore-Konfigurationsobjekt, d.h., dass die UltraLiteJ-Datenbank im BlackBerry-Objektspeicher erhalten bleibt.

    2. Versuchen Sie, mit der Datenbank eine Verbindung herzustellen.

      Wenn der Verbindungsversuch fehlschlägt, erstellen Sie die Datenbank. Die createDatabase-Methode gibt dann eine offene Verbindung zurück.

  4. Drücken Sie F5, um die Anwendung zu erstellen und ihr Deployment auf den Gerätsimulator vorzunehmen.

  5. Im Menü File wählen Sie Load Java Program.

  6. Navigieren Sie zum J2meRim11-Ordner Ihrer UltraLiteJ-Installation und öffnen Sie die Datei UltraLiteJ.cod.

  7. Führen Sie das Programm im Simulator aus.

    Sie sollten eine Statusmeldung sehen, die angibt, dass die Anwendung erfolgreich eine Verbindung mit der Datenbank hergestellt hat.