Autore Topic: Db sqlite.. E copia in file di testo  (Letto 574 volte)

Offline xixietto

Db sqlite.. E copia in file di testo
« il: 09 Agosto 2017, 22:31:48 CEST »
0
Salve, vorrei fare una cosa un Po complicata per me.. spero di spiegarmi correttamente.
 Vorrei una volta premuto un pulsante.. far prendere dei dati inseriti nel db sqlite di android.. E copiarli in un documento di testo e salvare il tutto in una cartella.


Il risultato finale è quello di far vedere all' utente il file di testo.. con all'interno il testo che ha scelto di copiare dal database.
Spero in una risposta precisa e che mi aiuti nel procedimento

Inviato dal mio SM-G925F utilizzando Tapatalk


Offline berpao

  • Utente junior
  • **
  • Post: 116
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Play Store ID:
    Paolo Bersan
Re:Db sqlite.. E copia in file di testo
« Risposta #1 il: 11 Agosto 2017, 10:45:40 CEST »
0
Ciao, giusto per capire, tu hai già imbastito qualcosa o sei a zero? Nel senso sei bloccato in qualche punto specifico o vuoi solo qualche spunto per iniziare? Inoltre,se lo scopo è fare vedere all'utente la frase scelta, non è necessario salvarlo in un file di testo, una volta che hai preso quello che ti interessa dal db puoi visualizzarlo con un toast o un dialog (a meno che non devi fare qualcosa con il file di testo). Se mi dai qualche dettaglio maggiore, posso essere più preciso e utile.
Ciao
P

Offline xixietto

Re:Db sqlite.. E copia in file di testo
« Risposta #2 il: 11 Agosto 2017, 10:52:48 CEST »
0
Ciao.. in pratica vorrei farlo vedere in un file di testo.. per il semplice fatto che il testo da visualizzare dovrebbero essere delle ricette.
E magari in più la dare la possibilità di poterle stampare..


Inviato dal mio SM-G925F utilizzando Tapatalk


Offline berpao

  • Utente junior
  • **
  • Post: 116
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Play Store ID:
    Paolo Bersan
Re:Db sqlite.. E copia in file di testo
« Risposta #3 il: 11 Agosto 2017, 12:19:45 CEST »
0
Ciao, per scrivere un file devi lavorare che gli outputstream di java. Ci sono vari modi per farlo, uno potrebbe essere:

1) instanziarti un oggetto di tipo FileOutputStream che sarà il tuo file finale --> FileOutputStream f=new FileOutputStream("<path_to_File>")
2) instanziarti un oggetto di tipo OutputStreamWriter che ti permette di scrivere nel tuo FileOutputStream, definito nel precedente costrutto --> OutputStreamWriter w=new OutputStreamWriter(f).
Volendo qui puoi pasargli anche il tipo di encoding da usare (UTF8,UTF16,ecc) --> OutputStreamWriter w=new OutputStreamWriter(f,"UTF-8")
3) scrivere il contenuto del file --> w.write("testo da scrivere");
4) chiudere il writer --> w.close()

Non ho provato il codice ma dovrebbe essere ok. Per la lettura da db interno, sinceramente non ho mai provato ad usare i content provider di android, non saprei aiutarti al momento.
Se hai dubbi, chiedi pure.
P

PS
Cmq continuo a pensare che non sia una buona soluzione, anzi la vedo un po fragile a dirla tutta... cmq non ho una visione completa della cosa e quindi mi limito a darti indicazioni su quello che chiedi.. :)

Offline xixietto

Re:Db sqlite.. E copia in file di testo
« Risposta #4 il: 11 Agosto 2017, 12:32:19 CEST »
0
Dovrei pensare qualcosa di migliore.. o lasciar perdere.. alla fine la cosa che vorrei e prendere dei valori dal db e copiarli in un file di testo. Risultato finale.. avere in file di testo con dentro del testo preso dal db

Inviato dal mio SM-G925F utilizzando Tapatalk


Offline berpao

  • Utente junior
  • **
  • Post: 116
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Play Store ID:
    Paolo Bersan
Re:Db sqlite.. E copia in file di testo
« Risposta #5 il: 11 Agosto 2017, 13:53:53 CEST »
0
Ciao, non volevo criticarti o demoralizzarti, dicevo semplicemente che se lo scopo è quello di visualizzare delle informazioni all'utente dell'app, magari formattate in una determinata maniera con magari una immagine (hai paralto di ricette nel tuo post, quindi ipotizzo la presenza di foto), il file di testo non ti da nessun valore aggiunto (perlomeno io, con le informazioni che ho, non ne trovo); una volta presi i dati dal db, io li visualizzerei direttamente in una activity, costruita ad hoc per la visualizzazione (magari creandoti un "model" di passaggio tra db e activity così se devi riusare le informazioni, magari passandole ad un'altra activity, puoi implementare l'interfaccia "Parcelable" e risolvi il problema). Per la stampa alla fine potresti generarti un pdf che poi passi a Google Cloud Print
Ma sono solo idee...
Ciao
P

Offline xixietto

Re:Db sqlite.. E copia in file di testo
« Risposta #6 il: 11 Agosto 2017, 14:08:11 CEST »
0
E se invece crearsi un sistema di condivisione della ricetta?
Dovrei pur sempre prevelevare i dati dal database e magari come potrei passarli ad un altro utente? E salvare la 'query' passata e farla visualizzare

Inviato dal mio SM-G925F utilizzando Tapatalk


Offline berpao

  • Utente junior
  • **
  • Post: 116
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Play Store ID:
    Paolo Bersan
Re:Db sqlite.. E copia in file di testo
« Risposta #7 il: 11 Agosto 2017, 14:33:06 CEST »
0
mmm, non credo di aver capito bene il concetto di condivisione che intendi; se cmq lo scopo è fare in modo che 2 diversi device android accedano alle stesse informazioni, mi sa che la soluzione più semplice non è più lavorare con il db interno di android ma avere un server pubblico a cui entrambi i dispositivi accedono; detta così sembra complicata, ma in realtà il tutto si traduce ad acquisire un dominio (su qualunque provider, ce ne sono centinaia italiani e non) con supporto ad un linguaggio server side che conosci (php, .net, java/jsp o quello che vuoi) e con un db (costo annuale circa 30/35€ in media). Fatto questo, la tua app anziche reperire le informazioni dal db in android, esegue delle chiamate http che gli restituirà i dati presi dal db che hai nel tuo dominio appena acquistato. Ovviamente questo moltiplica il lavoro dello sviluppo rispetto al tuo post iniziale (visualizzare un file din testo), ma è sicuramente meno che costruire nell'app una comunicazione client/server per la condivisione di dati tra due device che usano la stessa app...
Ovviamente questo a senso se conosci almeno un linguaggio di programmazione per il web tra  quelli che ti ho scritto, altrimenti immagino che la cosa non sia così semplice.

Offline xixietto

Re:Db sqlite.. E copia in file di testo
« Risposta #8 il: 11 Agosto 2017, 17:33:56 CEST »
0
mmm, non credo di aver capito bene il concetto di condivisione che intendi; se cmq lo scopo è fare in modo che 2 diversi device android accedano alle stesse informazioni, mi sa che la soluzione più semplice non è più lavorare con il db interno di android ma avere un server pubblico a cui entrambi i dispositivi accedono; detta così sembra complicata, ma in realtà il tutto si traduce ad acquisire un dominio (su qualunque provider, ce ne sono centinaia italiani e non) con supporto ad un linguaggio server side che conosci (php, .net, java/jsp o quello che vuoi) e con un db (costo annuale circa 30/35€ in media). Fatto questo, la tua app anziche reperire le informazioni dal db in android, esegue delle chiamate http che gli restituirà i dati presi dal db che hai nel tuo dominio appena acquistato. Ovviamente questo moltiplica il lavoro dello sviluppo rispetto al tuo post iniziale (visualizzare un file din testo), ma è sicuramente meno che costruire nell'app una comunicazione client/server per la condivisione di dati tra due device che usano la stessa app...
Ovviamente questo a senso se conosci almeno un linguaggio di programmazione per il web tra  quelli che ti ho scritto, altrimenti immagino che la cosa non sia così semplice.
Sai come lavorare con il database di firebase?

Inviato dal mio SM-G925F utilizzando Tapatalk


Offline xixietto

Re:Db sqlite.. E copia in file di testo
« Risposta #9 il: 11 Agosto 2017, 17:35:44 CEST »
0
Sai come lavorare con il database di firebase?

Inviato dal mio SM-G925F utilizzando Tapatalk
Utilizzo già firebase per altri scopi.. ma nn ho mai messo mano nel database.. potrei applicarlo per questo uso.

Inviato dal mio SM-G925F utilizzando Tapatalk


Offline berpao

  • Utente junior
  • **
  • Post: 116
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S2
  • Play Store ID:
    Paolo Bersan
Re:Db sqlite.. E copia in file di testo
« Risposta #10 il: 16 Agosto 2017, 08:02:22 CEST »
0
Ciao, non lo conosco ma da quello che vedo sulla documentazione a questo link:

https://firebase.google.com/docs/database/

creedo proprio di si, anzi ti viene incontro perchè ti solleva dal compito di registrare il dominio e di scrivere la parte web (firebase te la fornisce già), secondo me potrebbe essere la strada più semplice che puoi percorrere... usi firebase per il salvataggio dei dati così i dati sono accessibili a tutti i device (anziche salvarli localmente che sarebbero accessibili solo al singolo device e dovresti trovare un modo di replicarli sugli altri dispositivi), ti devi solo scrivere il client per utilizzare firebase (autenticazione. lettura e scrittura, ecc) e poi integrare le varie chiamate nella tua nuova activity che visualizzerà le informazioni in una modalità consona alla tua app (con lo stesso tema per capirci)...