Updatefunktion

OlafHD

Mitglied
Hallo Forum

Ich habe ein Programm geschrieben wo sich automatisch updaten soll das heißt der Benutzer öffnet die Anwendung und wenn ein Update zur Verfügung steht soll das Programm den Benutzer Fragen ob er das Programm updaten möchte.

Wie kann man das am besten Realisieren.

Danke im Vorraus:)
 

Tobse

Top Contributor
Ich würde die Anwendung in zwei Teile aufteilen: der erste Teil regelt die Updates, der zweite Teil ist die Anwendung an sich. Der Benutzer startet die erste Anwendung. Diese Prüft auf Upates und wendet sie ggf. an (ergo lädt sie herunter und überschreibt dabei den zweiten Teil der Anwendung mit der neueren Version). Danach wird die tatsächliche Anwendung gestartet.
 

Blender3D

Top Contributor
Code:
public interface AutoUpdate {
    /**
     * @return Current version string.
     */
    public String getCurrentVersion();

    /**
     * @param destination
     *            Location for current download.
     */
    public void setDestinationFolder(File destination);

    /**
     *
     * @param updateServer
     *            Location of update server.
     */
    public void setServer(URL updateServer);

    /**
     * Compares current version with server version.
     *
     * @param version
     *            Current local version.
     * @return
     * @throws IOException
     *             If connection fails.
     */
    public boolean isUpToDate(String version) throws IOException;

    /**
     *
     * @return Actual version String or null.
     * @throws IOException
     *             If download fails.
     */
    public String loadUpdate() throws IOException;

    /**
     * Starts application.
     */
    public void startApplication();
}
Du startest eine Anwendung, die obiges Interface implementiert.
1) Anwendung liest aktuelle Version.
2) Anwendung verbindet sich mit dem Server und vergleicht die Versionen.
Falls die Version aktuell ist startet die eigentliche Anwendung.
Sonst lade neue Anwendung herunter. Bei Erfolg starte diese sonst die Ursprüngliche.

Das ist nur eine grobe Idee. ;)
 

Tobse

Top Contributor
Nein. Irgendwie muss die geänderte Version deiner Software ja auf die Festplatte des Anwenders. Es gibt ggf. schon fertige Lösungen dafür. Die funktionieren aber alle nach exakt diesem Prinzip.
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben