"Check for Updates" Funktion

Dit_

Bekanntes Mitglied
Hallo,

ich möchte eine "Check for Updates" Funktion einbauen und wollte euch Fragen ob mein Ansatz richtig ist.

Also
1. Ich lade eine Datei die Versionsinformationen enthält runter

Java:
			URL src 					 = new URL("...homepage.de/latestVersion.v");
			URLConnection conn 			 = src.openConnection();
			InputStreamReader lineReader = new InputStreamReader(conn.getInputStream());
			BufferedReader buffer 		 = new BufferedReader(lineReader);
			String latestVersion  		  	 = buffer.readLine();
			usw...

//1.a Man könnte noch überprüfen ob der String richtiges Format hat...

2. Ich vergleiche meine aktuelle Version mit der aus der latestVersion.v Datei
Java:
public boolean newVersionAvailable(String latestV){
		String currentV = MyProgram.VERSION;
		return currentV.compareTo(latestV) < 0; 
	}


Version wird in folgendem Format dargestellt: 0.0.1. Das heißt die Datei latestVersion.v hat
nur eine Zeile.

Ist zwar ein naiver Ansatz, funktioniert aber gut.
Weiß jemand vielleicht wie man das anders machen könnte, ob da schon was vorgefertigtes von Java gibt?

Danke schon mal

Gruß
 
Prinzipiell kann man das schon so machen. Ich würde allerdings die Version nicht als String ablegen, sondern numerisch. Kann ja sein, dass bereits eine Version mit einer höheren Versionsnummer getestet wird, die dann aufgrund der in diesem Moment noch älteren Update-Informationen auf einen älteren Stand zurück gesetzt wird.

P.S.: Im Forum gab es bereits ähnliche Threads, z. B. http://www.java-forum.org/codeschnipsel-u-projekte/73235-updatemanager.html
 
Ja, ein einfaches, kleines Tool sollte wirklich besser per Webstart ausgeliefert werden. Sobald Du Dich da einmal reingelesen hast nimmt es Dir viel Arbeit ab. Die Syntax ist nicht so kompliziert, wie es vielleicht zu Beginn aussieht. Wichtig ist vielleicht noch, dass alle externen Dateien (Icons etc.) mit im Jar liegen sollten und das musst Du entsprechend im Code berücksichtigen.
Der Nachteil von Webstart: Java muss auf dem Zielrechner bereits vorhanden sein, aber auch gibt es auch JavaScripte, die das auf Nutzerseite überprüfen.
 
Zuletzt bearbeitet:
Hallo,

Guybrush Threepwood hat gesagt.:
Ja, kann man. Das ist einstellbar.

Das ist so zwar richtig, aber es ist ziemlich umständlich zum Benutzen.

Siehe: Java WebStart offline verwenden - Entwickler-Forum

Entweder man startet das Programm über das JavaControlPanel explizit im Offline-Modus oder man erstellt händisch eine entsprechende Desktop-Verknüpfung.

Trotzdem ist WebStart eine feine Sache, ist leider aber auch etwas "buggy". Das fällt aber erst auf, wenn man ein paar extra Sachen haben will.

MfG
hansmueller
 

Zurück
Oben