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

SQL Anywhere 12.0.1 (Deutsch) » UltraLite – Java-Programmierung » Praktische Einführung: Eine BlackBerry-Anwendung erstellen » Teil 1: Erstellen einer neuen BlackBerry-Anwendung

 

Lektion 3: Erstellen einer UltraLite Java Edition-Datenbank

In dieser Lektion schreiben Sie Code, um eine UltraLite Java Edition-Datenbank zu erstellen und eine Verbindung mit ihr 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 die UltraLiteJ-API mehrere Verbindungen unterstützt, ist es bei der Entwicklung üblich, nur eine einzige Verbindung zu verwenden.

 Aktualisieren der Beispielanwendung zur Erstellung einer Datenbank
  1. Ändern Sie die HomeScreen-Klasse, um ein DataAccess-Objekt zu instanzieren.

    Im Folgenden sehen Sie den vollständigen und aktualisierten HomeScreen-Klassen-Programmcode:



    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.component.*;
    import net.rim.device.api.ui.container.*;
    import java.util.*;
    
    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(true);
                _statusLabel.setText("Status: Connected");
            }
            catch(Exception ex)
            {
                _statusLabel.setText("Exception: " + ex.toString());
            }        
        }
        private LabelField _statusLabel;
        private DataAccess _da;
    }

    Eclipse gibt möglicherweise Warnmeldungen aus, dass DataAccess nicht aufgelöst werden kann. Das DataAccess-Objekt wird als Variable auf Klassenebene gehalten, damit andere Teile des Codes darauf zugreifen können. Sie erstellen die DataAccess-Klasse im nächsten Schritt.

  2. Fügen Sie Ihrem Projekt eine DataAccess-Klasse hinzu.

    1. Im Fenster Package Explorer (Paket-Explorer) erweitern Sie HelloBlackBerry und klicken Sie auf src.

    2. Klicken Sie auf File (Datei) » New (Neu) » Class (Klasse).

      Das Fenster New Java Class (Neu Java-Klasse) wird angezeigt.

    3. Im Feld Name geben Sie DataAccess ein.

    4. Klicken Sie auf Finish (Fertig stellen).

      Die Datei DataAccess.java befindet sich in Ihrem Projekt im Fenster Package Explorer (Paket-Explorer).

  3. Ändern Sie die DataAccess-Klasse, sodass sie eine getDataAccess-Methode enthält, die eine einzelne Datenbankverbindung gewährleistet.

    Doppelklicken Sie auf DataAccess.java im Fenster Package Explorer (Paket-Explorer) und ersetzen Sie dann den Code durch den folgenden Codeausschnitt:



    import com.ianywhere.ultralitej12.*;
    import net.rim.device.api.ui.component.*;
    import java.util.*;
    
    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);
                    // _da.createDatabaseSchema();
                } 
                else {
                    try {
                        _conn = DatabaseManager.connect(config);
                    }
                    catch (ULjException uex1) {
                        if (uex1.getErrorCode() != ULjException.SQLE_ULTRALITE_DATABASE_NOT_FOUND) {
                            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 com.ianywhere.ultralitej12-Paket aus der UltraLiteJ12.jar-Datei. Die folgenden Schritte sind erforderlich, um eine UltraLite Java Edition-Datenbank zu erstellen oder eine Verbindung mit ihr herzustellen:

    1. Legen Sie eine Konfiguration fest. In dieser praktischen Einführung wird das Konfigurationsobjekt von der ConfigObjectStore-Schnittstelle definiert, mit der Sie eine beständige Datenbank konfigurieren können, die sich im BlackBerry-Objektspeicher befindet.

    2. Versuchen Sie, mit der Datenbank eine Verbindung herzustellen. In dieser praktischen Einführung wird die Datenbank mit der createDatabase-Methode erstellt, wenn die Verbindung fehlschlägt. Die Methode gibt dann eine offene Verbindung zurück.

  4. Klicken Sie auf File (Datei) » Save (Speichern).

  5. Führen Sie den Simulator aus.

    Klicken Sie im Fenster Package Explorer (Paket-Explorer) auf Application.java und anschließend auf Run (Ausführen) » Run As (Ausführen als) » BlackBerry-Simulator.

    Hinweis

    Wenn mehrere Projekte in Ihrem Arbeitsbereich geöffnet sind, klicken Sie auf Run (Ausführen) » Run Configurations (Konfigurationen ausführen), wählen Sie HelloBlackBerry aus und klicken Sie anschließend auf Run (Ausführen).

    Das HelloBlackBerry-Projekt wird kompiliert. Daraufhin wird das Simulator-Fenster angezeigt.

    Vergewissern Sie sich, dass das Projekt ohne Fehler kompiliert wird, indem Sie die Registerkarte Problems (Probleme) in Eclipse auswählen.

  6. Klicken Sie im Simulator-Menü auf File (Datei) » Load Java Program (Java-Programm laden).

  7. Navigieren Sie zum Verzeichnis \UltraLite\UltraLiteJ\BlackBerry4.2\ Ihrer SQL Anywhere-Installation und öffnen Sie die Datei UltraLiteJ12.cod.

    Hinweis

    Gegebenenfalls müssen Sie UltraLiteJ12.cod und die DBG-Dateien in das Arbeitsverzeichnis des Simulators (z.B. C:\Eclipse\plugins\net.rim.ejde.componentpack6.0.0_6.0.0.0.26\components\simulator\) kopieren, um die Anwendung auszuführen. Wenn die Dateien kopiert wurden, brauchen Sie das Java-Programm nicht aus dem Simulator-Menü zu laden.

  8. Klicken Sie im Simulator-Menü auf Simulate (Simulieren) » Set IT Policy (IT-Richtlinie einrichten).

    Das Fenster Set IT Policy (IT-Richtlinie einrichten) wird angezeigt.

  9. Klicken Sie im Feld Policy (Richtlinie) auf Allow Third Party Apps to Use Persistent Store (Anwendungen von Drittanbietern die Verwendung des beständigen Speichers erlauben) und anschließend auf >>.

  10. Klicken Sie auf Set (Einstellen) und dann auf Close (Schließen).

  11. Starten Sie Ihre Anwendung.

    Im Simulator-Fenster navigieren Sie zu Downloads und führen dann die HelloBlackBerry-Anwendung aus.

    Ein Bildschirm mit der Titelleiste Hello BlackBerry und dem Text Status: Connected wird geöffnet, was bedeutet, dass die Anwendung erfolgreich eine Verbindung mit der UltraLite Java Edition-Datenbank hergestellt hat.

  12. Halten Sie die Simulation an.

    Klicken Sie im Simulator-Fenster auf File (Datei) » Exit (Beenden).

 Siehe auch