Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-12-2008, 11:40   #1
blackskop
Senior Member
 
Iscritto dal: Aug 2008
Messaggi: 308
[JAVA] realizzare un updater

Ciao. Vorrei realizzare un updater semplice in java. L'updater deve essenzialmente fare questo:

1) Controllare se esiste una versione più recente dell'applicazione.
2) Scaricare l'applicazione.
3) Sostituire l'applicazione corrente con la nuova.

Sembra semplice ma in realtà la cosa è abbastanza complessa, soprattutto per quanto riguarda il punto 3.

Innanzitutto bisogna scegliere se integrare l'updater nell'applicazione o lanciarlo come processo separato.

L'applicazione risiede in un unico file jar.

Scegliamo il caso in cui integriamo l'updater nell'applicazione.

1) Lancio l'applicazione A.
2) Lancio l'updater.
3) Scarico la nuova versione B in una cartella tmp
4) Chiedo all'utente se vuole riavviare subito o meno.

Se l'utente riavvia subito
lancio B
cancello A
copio B nella stessa posizione di A
termino B
lancio A
cancello B

se invece l'utente non riavvia subito
lancio A
chiudo A
lancio B
cancello A
copio B nella stessa posizione di A
termino B
lancio A
cancello B


Secondo voi è un modo corretto di realizzare l'updater?
blackskop è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2008, 12:34   #2
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Io almeno per 2 volte ho usato con successo:
1) Lancio l'applicativo Loader (L'utente lancia sempre solo questo).
2) Il loader controlla se c'e' una versione piu' nuova dell'applicativo vero, che e' un altro eseguibile
3) Se non c'e' una versione piu' nuova vai a 6.
4) Chiede se si vuole effettuare l'aggiornamento. Altrimenti vai a 6.
5) Scarica il nuovo eseguibile in versione temporanea e poi lo sostituisce al vecchio
6) lancia l'eseguibile dell'applicazione e chiude il loader.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2008, 12:46   #3
blackskop
Senior Member
 
Iscritto dal: Aug 2008
Messaggi: 308
Grazie, così l'avevo pensato anche io utilizzando però due applicazioni diverse. Nel caso in cui volessi integrare tutto in un'unica applicazione?
blackskop è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2008, 12:56   #4
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da blackskop Guarda i messaggi
Grazie, così l'avevo pensato anche io utilizzando però due applicazioni diverse. Nel caso in cui volessi integrare tutto in un'unica applicazione?
Non saprei. Io pensandoci e leggendo in giro l'ho realizzata con l'applicazione + Loader separati.
Se trovi una soluzione piu' semplice con un'applicazione sola faccelo sapere, ma leggendo su finora mi sembrano salti mortali non giustificabili, che mi sembrano anche poco resistenti nel caso in cui qualcosa durante uno dei vari punti non vada a buon fine.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Windows 11 avrà a breve uno Speed...
Ask Intel: l'assistente IA che ti aiuta ...
Nasce Freedom.gov: il portale USA per ag...
Bose QuietComfort SC a 179,95€: ANC legg...
Attenzione ai conti: confermata falla sf...
30.000 Pa e lavaggio a 100°C: DREAME...
Nioh 3 vola oltre 1 milione di copie, la...
AMD Radeon RX 9060 XT: staccato (di molt...
WhatsApp introduce la condivisione della...
iPad con chip A16 a 339€: l'11'' con 128...
OpenClaw spaventa le aziende: perch&eacu...
Samsung T7 2TB crolla su Amazon: SSD por...
Tutte le JBL a prezzi da non perdere su ...
PS6 e RDNA 5: la GPU sarà 'quasi ...
Meta cambia rotta sul metaverso: Horizon...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v