Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
iOS - prelevare txt online e salvarlo in locale
Forum - iOS - prelevare txt online e salvarlo in locale

Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 16:24
Sabato, 10/10/2009
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

  1. if ([@"Scrivi questa riga" writeToFile:@"dati.txt" atomically:NO]== YES)
  2.         lblConferma.text=@"Scrittura eseguita con successo";
  3. else
  4.         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
PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 14:40
Domenica, 11/10/2009
allora, per quanto riguarda il salvataggio dei dati nel file ho risolto cosi

Codice sorgente - presumibilmente iOS

  1. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  2.         NSString *documentsDirectory = [paths objectAtIndex:0];
  3.         NSString *path = [documentsDirectory stringByAppendingPathComponent:@"dati.txt"];
  4. if ([@"prova di scrittura su file" writeToFile:path atomically:NO])
  5.         label.text=@"Scrittura riuscita";
  6. 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

  1. 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

  1. NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://miosito/miapagina.txt"]]; //qui faccio il download della pagina e la memorizzo nella variabile data
  2. NSString* stringa = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; //qui converto la pagina downloadata in stringa
  3.        
  4.         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
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 18:24
Mercoledì, 14/10/2009
Avrei risposto ma vedo che te la sei cavata egregiamente :)


Il mio blog: https://piero.dev
PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 21:00
Mercoledì, 14/10/2009
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

  1. if ((data= [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://sito/pagina.txt"]]) == NO){
  2.      
  3. //avviso l'utente che non è stato possibile accedere al file online
  4.  
  5. }
  6. else
  7. {
  8.    //istruzioni varie
  9. }



oppure bisogna fare altro???

e se si cos'altro?

Ultima modifica effettuata da Anonymous il 14/10/2009 alle 21:02
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 21:51
Mercoledì, 14/10/2009
Basta che l'applicazione non crashi e dovresti essere a posto.


Il mio blog: https://piero.dev
PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 21:58
Mercoledì, 14/10/2009
ah si???

benissimo allora :D

pensavo chissà cosa bisognava fare

PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 21:24
Giovedì, 15/10/2009
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??? :D


[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

  1. if ([@"ciao" writeToFile:path atomically:YES]){
  2. //bla bla
  3. }



cosi non da il warning

però cosi si:
Codice sorgente - presumibilmente iOS

  1. stringa = [NSString stringWithFormat:@"ciao"];
  2.         if ([stringa writeToFile:path atomically:YES]){
  3.         //bla bla
  4.         }




e nn capisco perché bah...

Ultima modifica effettuata da Anonymous il 15/10/2009 alle 21:34
PM Quote