
Come di consueto mi ritrovo a fare esperienza con Flex e ActionScript.
Gli ultimi bisogni mi hanno portato a testare l'utilizzo degli SharedObject (SOL), meglio conosciuti come Cookie Flash.
Il loro utilizzo è comodissimo e rende le Applicazioni Flash che sto sviluppando capaci di mantenere una cache utilissima a sveltire tutte le operazioni.
Ottimo direi... un solo piccolo problema, se mai si volesse cancellare quanto finora salvato per bontà verso l'utente che utilizza la mia Applicazione mi sono ritrovato a sbattere contro un piccolo problema, non esiste una funzione che semplicemente cancella tutti i miei SharedObject.
Nonostante la libreria metta a disposizione un metodo statico dal nome fuorviante di deleteAll sono dovuto ricorrere a metodi alternativi HomeMade.
Per risolvere il mio problema ogni volta che scrivo un nuovo SharedObject inserisco in un altro file di appoggio il nome di questo così mantenere traccia di ogni SOL creato e quindi cancellarlo quando mi occorrerà sbarazzarmene.
Quando creo i SOL ho aggiunto:
var archivio:SharedObject = SharedObject.getLocal("archivio");
var arrChivio:ArrayCollection = archivio.data["solCreati"];
var giaInserito:Boolean = false;
if(arrChivio!= null){
for(var fileCreati:int = 0;fileCreati
}
}else{
arrChivio=new ArrayCollection();
}
if(!giaInserito)arrChivio.addItem(nomeNuovoSol);
archivio.data["solCreati"] = arrChivio;
archivio.flush();
e quindi per cancellarli basta:
public function deleteHistory():void{
var archivio:SharedObject = SharedObject.getLocal("archivio");
var arrChivio:ArrayCollection = archivio.data["solCreati"];
if(arrChivio!= null){
for(var fileCreati:int = 0;fileCreati
var sol:SharedObject = SharedObject.getLocal(solName);
sol.clear();
}
}
archivio.clear();
}
Tutto molto semplice al prezzo di mantenere un file di archivio dei nomi
Nessun commento:
Posta un commento