
Anonymous (Member)
Guru
    
Messaggi: 1060
Iscritto: 30/07/2006
|
Ciao a tutti per caso c'è qualcuno che puo' dirmi in che modo poter accedere ad una pagina online di tipo txt e salvarla in locale??
per ora stavo provando a cercare di salvare in un file, una qualsiasi parola.... però nn funziona anche se il metodo sembra dare conferma positiva..
Codice sorgente - presumibilmente iOS |
if ([@"Scrivi questa riga" writeToFile:@"dati.txt" atomically:NO]== YES)
lblConferma.text=@"Scrittura eseguita con successo";
else
lblConferma.text=@"Scrittura fallita";
|
questo metodo da come risultato che nella label compare la scritta "Scrittura eseguita con successo", però invece quando vado a controllare nel file, non c'è niente...
perché??
Ultima modifica effettuata da Anonymous il 10/10/2009 alle 19:10 |
|

Anonymous (Member)
Guru
    
Messaggi: 1060
Iscritto: 30/07/2006
|
allora, per quanto riguarda il salvataggio dei dati nel file ho risolto cosi
Codice sorgente - presumibilmente iOS |
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"dati.txt"];
if ([@"prova di scrittura su file" writeToFile:path atomically:NO])
label.text=@"Scrittura riuscita";
else label.text=@"Scrittura fallita";
|
non ho la minima idea di dove viene salvato il file (perché cercandolo non son riuscito a trovarlo) però so che cmq da qualche parte sta e funziona anche sul device perché poi se uso la controprova (quello di andare a rileggere il contenuto), funziona...
per rileggere dal file faccio cosi:
Codice sorgente - presumibilmente Plain Text |
labelDue.text= [NSString stringWithContentsOfFile:path];
|
cmq ora rimane l'altra domanda:
Come fare per prelevare un file dalla rete??
[edit]
lol, sono come marzullo... faccio le domande e poi mi rispondo da solo hehehe
ho trovato la soluzione anche a l'altra domanda ecco come:
Codice sorgente - presumibilmente iOS |
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://miosito/miapagina.txt"]]; //qui faccio il download della pagina e la memorizzo nella variabile data
NSString* stringa = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; //qui converto la pagina downloadata in stringa
area.text = stringa; //e qui la uso come mi pare, ad esempio visualizzandola in una textview
|
saluti Ultima modifica effettuata da Anonymous il 11/10/2009 alle 22:36 |
|

pierotofy (Admin)
Guru^2
    
Messaggi: 6233
Iscritto: 04/12/2003
|
Avrei risposto ma vedo che te la sei cavata egregiamente
|
|

Anonymous (Member)
Guru
    
Messaggi: 1060
Iscritto: 30/07/2006
|
ho un altra domanda...
so che la apple rifiuta le applicazioni che accedono alla rete e che non gestiscono il fatto di quando la connessione è off....
ma per far cio che bisogna fare???
tipo basta una cosa del genere:
Codice sorgente - presumibilmente iOS |
if ((data= [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://sito/pagina.txt"]]) == NO){
//avviso l'utente che non è stato possibile accedere al file online
}
else
{
//istruzioni varie
}
|
oppure bisogna fare altro???
e se si cos'altro?
Ultima modifica effettuata da Anonymous il 14/10/2009 alle 21:02 |
|

pierotofy (Admin)
Guru^2
    
Messaggi: 6233
Iscritto: 04/12/2003
|
Basta che l'applicazione non crashi e dovresti essere a posto.
|
|

Anonymous (Member)
Guru
    
Messaggi: 1060
Iscritto: 30/07/2006
|
ah si???
benissimo allora
pensavo chissà cosa bisognava fare
|
|

Anonymous (Member)
Guru
    
Messaggi: 1060
Iscritto: 30/07/2006
|
cmq, tornando al fatto del metodo writeToFile, mi esce questo warning al momento della compilazione:
'writeToFile:atomically:' is deprecated (declared at /Developer/iPhoneOS.platform/Developer/SDKs/ ecc ecc ecc
cosa significa che quel metodo è deprecato??
che ne devo fare del warning?? puo causare problemi oppure posso sorvolare e chissenefrega???
[edit]
tra l'altro ho appena fatto caso che il warning lo da soltanto se al metodo gli dai da scrivere una variabile altrimenti va tutto bene...
mi spiego:
Codice sorgente - presumibilmente iOS |
if ([@"ciao" writeToFile:path atomically:YES]){
//bla bla
}
|
cosi non da il warning
però cosi si:
Codice sorgente - presumibilmente iOS |
stringa = [NSString stringWithFormat:@"ciao"];
if ([stringa writeToFile:path atomically:YES]){
//bla bla
}
|
e nn capisco perché bah... Ultima modifica effettuata da Anonymous il 15/10/2009 alle 21:34 |
|