Autore Topic: Scattare una foto e salvarla su un database  (Letto 1913 volte)

Offline mtdv

  • Utente junior
  • **
  • Post: 103
  • Respect: 0
    • Mostra profilo
Scattare una foto e salvarla su un database
« il: 17 Gennaio 2011, 21:40:24 CET »
0
Salve ragazzi qualcuno di voi sa indicarmi la strada giusta?
:)
devo scattare una foto e salvarla su un db.
Conoscete qualche tutorial o quali classi usare??

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Scattare una foto e salvarla su un database
« Risposta #1 il: 17 Gennaio 2011, 22:19:41 CET »
0
Se non mi sbaglio il tema è già stato trattato sul forum.

Dovresti cercare nella sezione dei tutorial. Mi raccomando leggi poi anche tutti i commenti, ci potrebbero essere delle aggiunte o vie alternative piu semplici per arrivare all obbiettivo finale.

Per quanto riguarda il salvataggio su db, non salverei l'immagine, ma il path o l' Uri dell immagine (che stanno sulla sd).

Offline aw4y

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung i5500
  • Sistema operativo:
    osx/linux
Re:Scattare una foto e salvarla su un database
« Risposta #2 il: 19 Gennaio 2011, 09:55:05 CET »
+3
Per scattare la foto, una volta impostata la camera, basta fare:

        camera.takePicture(null, null, photoCallback);

photoCallBack, qui sotto implementata, viene richiamata subito dopo lo "scatto":

 
Codice (Java): [Seleziona]
Camera.PictureCallback photoCallback=new Camera.PictureCallback() {
        public void onPictureTaken(byte[] data, Camera camera) {
            new SavePhotoTask().execute(data);
        }
    };

    class SavePhotoTask extends AsyncTask<byte[], String, String> {
        @Override
        protected String doInBackground(byte[]... jpeg) {
            File photo=new File("test.jpg");

            try {
                FileOutputStream fos=new FileOutputStream(photo.getPath());

                fos.write(jpeg[0]);
                fos.close();
            }
            catch (java.io.IOException e) {
                Log.e("Error", "Exception in photoCallback", e);
            }

            return(null);
        }
    }

In questo caso la salva su file. Se vuoi salvarla su db basta fare una query e inserire i byte[] data in un blob.

saluti
aw4y
« Ultima modifica: 19 Gennaio 2011, 10:51:24 CET da JD, Reason: Usate i bbcode java e xml!! xD »

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Scattare una foto e salvarla su un database
« Risposta #3 il: 19 Gennaio 2011, 14:24:02 CET »
0

In questo caso la salva su file. Se vuoi salvarla su db basta fare una query e inserire i byte[] data in un blob.

saluti
aw4y
Che personalmente sconsiglio.... visto la mole di dati e l'idea di sqlite...
Ottimo pezzo di codice comunque,uno snippet ci starebbe bene!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline -Bruno90-

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC wildfire
  • Sistema operativo:
    Windows XP
Re:Scattare una foto e salvarla su un database
« Risposta #4 il: 21 Gennaio 2011, 13:54:12 CET »
0
ciao a tutti.
sfrutto questo topic per fare una domanda inerente all'argomento:
per scattare una foto (o un video) io preferirei usare l'applicazione di default del telefono.
per farla partire nessun problema:
Codice (Java): [Seleziona]
Intent i = new Intent( MediaStore.ACTION_VIDEO_CAPTURE );
                int IMAGE_CAPTURE=0;
                startActivityForResult( i, IMAGE_CAPTURE );

1- Il problema ora sta nel recuperare la foto e farla vedere sullo schermo (non riesco a capire dove la salva).
2- è possibile cambiare la destinazione del salvataggio della foto?? se si implementando quale metodo??

Grazie mille


Offline Ivan86

  • Utente junior
  • **
  • Post: 139
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Re:Scattare una foto e salvarla su un database
« Risposta #5 il: 02 Dicembre 2011, 11:45:51 CET »
0
Lo so è passato quasi un anno, ma finalmente sono riuscito a tornare a programmare su Android! :)

Torno anche sull'argomento che lasciai in sospeso: Scatto di foto e salvataggio in db.

Praticamente ho un db in remoto che salva le informazioni degli utenti.. quindi nome, cognome, ecc.
Vorrei ora associare a tali dati una foto, quindi salvarla assieme alle generalità citate prima.

Sto sviluppando la parte della camera, dello scatto della foto, ora come faccio a salvarla nel db in remoto assieme ai dati?

grazie
« Ultima modifica: 02 Dicembre 2011, 12:04:24 CET da Ivan86 »

Offline Ivan86

  • Utente junior
  • **
  • Post: 139
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Re:Scattare una foto e salvarla su un database
« Risposta #6 il: 05 Dicembre 2011, 09:26:56 CET »
0
Ho risolto grazie al tutorial di dodopepper su come comunicare con un server ftp: [facile] Comunicare con un server ftp - Android Developers Italia
;)

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Scattare una foto e salvarla su un database
« Risposta #7 il: 03 Gennaio 2012, 13:36:25 CET »
0
Per scattare la foto, una volta impostata la camera, basta fare:

        camera.takePicture(null, null, photoCallback);

photoCallBack, qui sotto implementata, viene richiamata subito dopo lo "scatto":

 
Codice (Java): [Seleziona]
Camera.PictureCallback photoCallback=new Camera.PictureCallback() {
        public void onPictureTaken(byte[] data, Camera camera) {
            new SavePhotoTask().execute(data);
        }
    };

    class SavePhotoTask extends AsyncTask<byte[], String, String> {
        @Override
        protected String doInBackground(byte[]... jpeg) {
            File photo=new File("test.jpg");

            try {
                FileOutputStream fos=new FileOutputStream(photo.getPath());

                fos.write(jpeg[0]);
                fos.close();
            }
            catch (java.io.IOException e) {
                Log.e("Error", "Exception in photoCallback", e);
            }

            return(null);
        }
    }

In questo caso la salva su file. Se vuoi salvarla su db basta fare una query e inserire i byte[] data in un blob.

saluti
aw4y

ma funziona anche con l'emulatore eclipse ?
perchè a me va in crash !
anche se uso l'applicazione nativa dell'emulatore. Devo settare qualcosa che ho dimenticato ?


Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Scattare una foto e salvarla su un database
« Risposta #8 il: 03 Gennaio 2012, 13:39:32 CET »
0
se va in crash, devi postare il logcat
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Scattare una foto e salvarla su un database
« Risposta #9 il: 03 Gennaio 2012, 14:14:05 CET »
0
se va in crash, devi postare il logcat

ECCOLO, SCUSAMI


Offline banaleo

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire Z
  • Sistema operativo:
    Windows 7
Re:Scattare una foto e salvarla su un database
« Risposta #10 il: 30 Gennaio 2012, 22:30:48 CET »
0
Salve a tutti!

Volevo sapere se è possibile salvare un'immagine in JSON su un database remoto,all'interno di una tabella che contiene un attributo di tipo BLOB.

Grazie mille per l'aiuto! :-)