Autore Topic: Salvare immagine su db presa dalla galleria  (Letto 2799 volte)

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Salvare immagine su db presa dalla galleria
« il: 30 Ottobre 2010, 20:29:29 CEST »
0
ho questo codice:
Codice (Java): [Seleziona]
editimg.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View v) {
                    //apre la galleria          
                         Intent i = new Intent( Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI );
                     startActivityForResult( i, IMAGE_FROM_GALLERY );
                     db.insertImg(MediaStore.Images.Media.INTERNAL_CONTENT_URI.toString());
                 ((ImageView)findViewById(R.id.image)).setImageURI(MediaStore.Images.Media.INTERNAL_CONTENT_URI);
       
                        }}      
                );
Allora:
apro la galleria, scelgo l'immagine e la inserisco nel db tramite db.insertImg(String img);
Non capisco però come fare in modo che la scelta di questa immagine sia permanente all'interno di questa activity, io vorrei che una volta scelta l'immagine questa resti tale finchè l'utente non decida di modificarla, invece con questo codice ogni volta che apro l'applicazione devo scegliere l'immagine perchè questa non viene salvata.
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Salvare immagine su db presa dalla galleria
« Risposta #1 il: 30 Ottobre 2010, 20:37:44 CEST »
0
Ma per quale assurdo motivo salvi MediaStore.Images.Media.INTERNAL_CONTENT_URI?

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Salvare immagine su db presa dalla galleria
« Risposta #2 il: 30 Ottobre 2010, 21:39:12 CEST »
0
Non è quello l'uri dell'immagine scelta dalla galleria?
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Salvare immagine su db presa dalla galleria
« Risposta #4 il: 31 Ottobre 2010, 17:33:52 CET »
0
Quel tutorial l'ho già letto ma non mi dice come salvare l'immagine che io ho preso dalla galleria sul mio db..
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Salvare immagine su db presa dalla galleria
« Risposta #5 il: 31 Ottobre 2010, 18:45:57 CET »
0
L'uri dell'immagine selezionata lo ottieni nel metodo onActivityResult.
Evidentemente non hai letto bene :)

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Salvare immagine su db presa dalla galleria
« Risposta #6 il: 01 Novembre 2010, 15:27:35 CET »
0
E se faccio una cosa del genere:
Codice (Java): [Seleziona]
@Override
        protected void onActivityResult ( int requestCode, int resultCode, Intent data ) {

        if ( requestCode == IMAGE_FROM_GALLERY ) {

                        if ( resultCode == RESULT_OK ) {
                                Uri selectedImage = data.getData();
                                db.insertImg(selectedImage.toString());

                        }
                        ((ImageView)findViewById(R.id.image)).setImageURI(data.getData());
 //assegni alla tua ImageView l'immagine selezionata
                        }


                super.onActivityResult( requestCode, resultCode, data );
        }

Vado a salvare l'uri come una stringa, giusto?
Ma poi quando lo devo richiamare, come riconverto la stringa ad uri?
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Salvare immagine su db presa dalla galleria
« Risposta #7 il: 01 Novembre 2010, 15:37:04 CET »
0
Vado a salvare l'uri come una stringa, giusto?

Si

Citazione
Ma poi quando lo devo richiamare, come riconverto la stringa ad uri?

http://developer.android.com/reference/android/net/Uri.html#parse%28java.lang.String%29

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Salvare immagine su db presa dalla galleria
« Risposta #8 il: 01 Novembre 2010, 15:38:30 CET »
0
Ottimo...ora provo se funziona il tutto..grazie
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Salvare immagine su db presa dalla galleria
« Risposta #9 il: 01 Novembre 2010, 16:43:16 CET »
0
Non capisco dove sbaglio: allora seguendo http://www.anddev.it/index.php/topic,1205.0.html

apro la galleria:
Codice (Java): [Seleziona]
editimg.setOnClickListener(new View.OnClickListener(){

                @Override
                public void onClick(View v) {
                    //apre la galleria          
                         Intent i = new Intent( Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI );
                     startActivityForResult( i, IMAGE_FROM_GALLERY );
       
                        }}      
                );
Poi registro l'immagine scelta nel db tramite db.insertImg
Codice (Java): [Seleziona]
 @Override
        protected void onActivityResult ( int requestCode, int resultCode, Intent data ) {

        if ( requestCode == IMAGE_FROM_GALLERY ) {

                        if ( resultCode == RESULT_OK ) {
                                Uri selectedImage = data.getData();
                                db.insertImg(selectedImage.toString());

                        }
                        ((ImageView)findViewById(R.id.image)).setImageURI(Uri.parse(MyDatabase.Match.IMAGE));
 //assegni alla tua ImageView l'immagine selezionata
                        }


                super.onActivityResult( requestCode, resultCode, data );
        }
e poi vado ad assegnare all'imageView l'uri che leggo nel db dell'immagine precedentemente inserita.

Suggerimenti?
« Ultima modifica: 02 Novembre 2010, 13:28:19 CET da androider »
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Salvare immagine su db presa dalla galleria
« Risposta #10 il: 02 Novembre 2010, 13:32:41 CET »
0
help pleasee  :-o
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Salvare immagine su db presa dalla galleria
« Risposta #11 il: 02 Novembre 2010, 13:35:32 CET »
0
Se magari ci dai qualche info sull'errore/problema che ti da =)
Postate il LogCat LogCat LogCat LogCat LogCat

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Salvare immagine su db presa dalla galleria
« Risposta #12 il: 02 Novembre 2010, 13:44:38 CET »
0
Logcat:
Codice (Java): [Seleziona]
11-02 13:39:41.973: ERROR/Database(13741): Error inserting image=content://media/external/images/media/159
11-02 13:39:41.973: ERROR/Database(13741): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed
11-02 13:39:41.973: ERROR/Database(13741):     at android.database.sqlite.SQLiteStatement.native_execute(Native Method)
11-02 13:39:41.973: ERROR/Database(13741):     at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:55)
11-02 13:39:41.973: ERROR/Database(13741):     at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1549)
11-02 13:39:41.973: ERROR/Database(13741):     at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1410)
11-02 13:39:41.973: ERROR/Database(13741):     at com.android.MyDatabase.insertImg(MyDatabase.java:60)
11-02 13:39:41.973: ERROR/Database(13741):     at com.android.Profile.onActivityResult(Profile.java:181)
11-02 13:39:41.973: ERROR/Database(13741):     at android.app.Activity.dispatchActivityResult(Activity.java:3890)
11-02 13:39:41.973: ERROR/Database(13741):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
11-02 13:39:41.973: ERROR/Database(13741):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
11-02 13:39:41.973: ERROR/Database(13741):     at android.app.ActivityThread.access$2800(ActivityThread.java:125)
11-02 13:39:41.973: ERROR/Database(13741):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
11-02 13:39:41.973: ERROR/Database(13741):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-02 13:39:41.973: ERROR/Database(13741):     at android.os.Looper.loop(Looper.java:123)
11-02 13:39:41.973: ERROR/Database(13741):     at android.app.ActivityThread.main(ActivityThread.java:4627)
11-02 13:39:41.973: ERROR/Database(13741):     at java.lang.reflect.Method.invokeNative(Native Method)
11-02 13:39:41.973: ERROR/Database(13741):     at java.lang.reflect.Method.invoke(Method.java:521)
11-02 13:39:41.973: ERROR/Database(13741):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-02 13:39:41.973: ERROR/Database(13741):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-02 13:39:41.973: ERROR/Database(13741):     at dalvik.system.NativeStart.main(Native Method)

Non mi da errori, ma quando lo eseguo apre la galleria, mi fa scegliere l'immagine e poi però non la inserisce
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Salvare immagine su db presa dalla galleria
« Risposta #13 il: 02 Novembre 2010, 14:02:02 CET »
0
C'è qualche problema nell'inserimento dell'immagine. Senza codice però è difficile dirlo.

Comunque:

Codice (Java): [Seleziona]
 ((ImageView)findViewById(R.id.image)).setImageURI(Uri.parse(MyDatabase.Match.IMAGE));
Cosa noti qui dentro?

Offline androider

  • Translate Team
  • Utente normale
  • ***
  • Post: 261
  • In campo come nella vita.
  • Respect: +1
    • andreadannibale
    • andreadevil
    • Mostra profilo
    • AnAndroider
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    AnAnApps
  • Sistema operativo:
    Mac Os X Snow Leopard
Re:Salvare immagine su db presa dalla galleria
« Risposta #14 il: 02 Novembre 2010, 14:29:37 CET »
0
quella è il codice con cui assegno l'immagine tramite uri, e l'uri dovrebbe essere salvato sottoforma di stringa nel db, quindi faccio il parse
Se i cosiddetti "migliori" di noi avessero il coraggio di
sottovalutarsi almeno un po' vivremmo in un mondo infinitamente migliore.

In ogni cAso nessun rimorso.