Bonjour communauté Android,

Je souhaite enregistrer une image, récupérer d'une autre activité dans mon intent, dans ma base de données.
Mais je ne sais pas comment faire, c'est sur mon activité principale (VitrineActivity4.java) mon problème :

VitrineActivity4.java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
public class VitrineActivity4 extends Activity implements ColorPickerSecondaire.OnColorChangedListener, ColorPickerPrimaire.OnColorChangedListener, ColorPickerTertiaire.OnColorChangedListener {
 
    // Initialisation des variables
    public Button btnSuivant, btnPrecedent, choisir;
    public EditText reference, couleur_primaire, couleur_secondaire, couleur_tertiaire, commentaire;
    public ImageView image;
    private DBManager dbM;
    String v1, hex1, hex2, hex3;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_vitrine4);
 
        btnSuivant = (Button) findViewById(R.id.btnSuivant);
        btnPrecedent = (Button) findViewById(R.id.btnPrecedent);
        choisir = (Button) findViewById(R.id.choisir);
        reference = (EditText) findViewById(R.id.reference);
        commentaire = (EditText) findViewById(R.id.commentaire);
        couleur_primaire = (EditText) findViewById(R.id.couleur_primaire);
        couleur_secondaire = (EditText) findViewById(R.id.couleur_secondaire);
        couleur_tertiaire = (EditText) findViewById(R.id.couleur_tertiaire);
 
//        Récupération de l'image selectionné, et de son nom, dans ReferenceActivity2.java
        Bundle extras = getIntent().getExtras();
        if (this.getIntent().getExtras()!=null){
            byte[] b = extras.getByteArray("picture");
            Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length);
            ImageView image = (ImageView) findViewById(R.id.image);
            image.setImageBitmap(bmp);
            v1 = extras.getString("title");
            reference.setText(v1);
        }
 
        choisir.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                //    Passage à l'activité permettant de choisir la maquette
                Intent intent = new Intent(VitrineActivity4.this, ReferencesActivity.class);
                startActivity(intent);
            }
        });
 
        //    Bouton "Suivant" et ses conditions pour passer à la deuxième activité
        btnSuivant.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                int len1 = reference.length();
                if(len1==0)
                {
                    Toast.makeText(getApplicationContext(), "Veuillez choisir une référence", Toast.LENGTH_LONG).show();
                }
                else
                {
                    String et1 = reference.getText().toString();
                    // Je ne sais pas quoi metttre ici <----------------------------------
                    String et2 = commentaire.getText().toString();
                    String et3 = couleur_primaire.getText().toString();
                    String et4 = couleur_secondaire.getText().toString();
                    String et5 = couleur_tertiaire.getText().toString();
 
                    GRAPHISME ic = new GRAPHISME();
                    ic.setReference(et1);
                    // Je ne sais pas quoi mettre ici <----------------------------------
                    ic.setCommentaire(et2);
                    ic.setCouleur_primaire(et3);
                    ic.setCouleur_secondaire(et4);
                    ic.setCouleur_tertiaire(et5);
 
                    insertText(ic);
 
                    //    Si toutes les conditions sont remplies, passage à la seconde activité
                    Intent intent = new Intent(VitrineActivity4.this, VitrineActivity5.class);
                    startActivity(intent);
                }
            }
        });
 
        //    Bouton "Précédent", retour à l'activité précédente
        btnPrecedent.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });
    }
 
    @Override
    public void colorChanged1(String key, int color) {
        // Changement de la couleur du fond de l'EditText "Primaire" par la couleur selectionné dans la palette
        couleur_primaire = (EditText) findViewById(R.id.couleur_primaire);
        couleur_primaire.setBackgroundColor(color);
        // Conversion de l'entier color en string
        hex1 = Integer.toHexString(color);
        // Conversion de la chaine string en format hexadécimal
        hex1 = String.format("#%06X", (0xFFFFFF & color));
        // Ajout du format hexadécimal à l'edittext
        couleur_primaire.setText(hex1);
    }
 
//    Montre la palette de couleur au click du premier bouton "Choisir"
    public void getColor1(View view) {
        ColorPickerPrimaire color = new ColorPickerPrimaire(this,this, "picker",Color.WHITE,Color.WHITE);
        color.show();
    }
 
    @Override
    public void colorChanged2(String key, int color) {
        // Changement de la couleur du fond de l'EditText "Secondaire" par la couleur selectionné dans la palette
        couleur_secondaire = (EditText) findViewById(R.id.couleur_secondaire);
        couleur_secondaire.setBackgroundColor(color);
        // Conversion de l'entier color en string
        hex2 = Integer.toHexString(color);
        // Conversion de la chaine string en format hexadécimal
        hex2 = String.format("#%06X", (0xFFFFFF & color));
        // Ajout du format hexadécimal à l'edittext
        couleur_secondaire.setText(hex2);
    }
 
    //    Montre la palette de couleur au click du deuxième bouton "Choisir"
    public void getColor2(View view) {
        ColorPickerSecondaire color = new ColorPickerSecondaire(this,this, "picker",Color.WHITE,Color.WHITE);
        color.show();
    }
 
    @Override
    public void colorChanged3(String key, int color) {
        // Changement de la couleur du fond de l'EditText "Tertiaire" par la couleur selectionné dans la palette
        couleur_tertiaire = (EditText) findViewById(R.id.couleur_tertiaire);
        couleur_tertiaire.setBackgroundColor(color);
        // Conversion de l'entier color en string
        hex3 = Integer.toHexString(color);
        // Conversion de la chaine string en format hexadécimal
        hex3 = String.format("#%06X", (0xFFFFFF & color));
        // Ajout du format hexadécimal à l'edittext
        couleur_tertiaire.setText(hex3);
    }
 
    //    Montre la palette de couleur au click du troisième bouton "Choisir"
    public void getColor3(View view) {
        ColorPickerTertiaire color = new ColorPickerTertiaire(this,this, "picker",Color.WHITE,Color.WHITE);
        color.show();
    }
 
    public void insertText(GRAPHISME insert){
 
        DBAdapter db = new DBAdapter(this);
        DBManager dbm = new DBManager(this);
        SQLiteDatabase sqliteDatabase = db.getWritableDatabase();
 
        ContentValues contentValues = new ContentValues();
        contentValues.put(GRAPHISME.REFERENCE, insert.getReference());
        // Je ne sais pas quoi mettre ici <----------------------------------
        contentValues.put(GRAPHISME.COULEUR_PRIMAIRE, insert.getCouleur_primaire());
        contentValues.put(GRAPHISME.COULEUR_SECONDAIRE, insert.getCouleur_secondaire());
        contentValues.put(GRAPHISME.COULEUR_TERTIAIRE, insert.getCouleur_tertiaire());
        contentValues.put(GRAPHISME.COMMENTAIRE, insert.getCommentaire());
 
        long affectedColumnId = sqliteDatabase.insert(GRAPHISME.TABLE_GRAPHISME, null, contentValues);
        sqliteDatabase.close();
    }
}
Graphisme.java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public class GRAPHISME {
 
    //    Initialisation de la table "graphisme" et de ses attributs
    public static final String TABLE_GRAPHISME = "graphisme";
    public static final String REFERENCE = "reference";
    public static final String MAQUETTE = "maquette";
    public static final String COULEUR_PRIMAIRE = "couleur_primaire";
    public static final String COULEUR_SECONDAIRE = "couleur_secondaire";
    public static final String COULEUR_TERTIAIRE = "couleur_tertiaire";
    public static final String COMMENTAIRE = "commentaire";
 
    private String reference;
    private byte[] maquette;
    private String commentaire;
    private String couleur_primaire;
    private String couleur_secondaire;
    private String couleur_tertiaire;
 
    public String getReference() {
        return reference;
    }
    public void setReference(String reference) {
        this.reference = reference;
    }
 
    public byte[] getMaquette() { return maquette; }
    public void setMaquette(byte[] maquette) { this.maquette = maquette; }
 
    public String getCouleur_primaire() { return couleur_primaire; }
    public void setCouleur_primaire(String couleur_primaire) { this.couleur_primaire = couleur_primaire; }
 
    public String getCouleur_secondaire() { return couleur_secondaire; }
    public void setCouleur_secondaire(String couleur_secondaire) { this.couleur_secondaire = couleur_secondaire; }
 
    public String getCouleur_tertiaire() { return couleur_tertiaire; }
    public void setCouleur_tertiaire(String couleur_tertiaire) { this.couleur_tertiaire = couleur_tertiaire; }
 
    public String getCommentaire() {
        return commentaire;
    }
    public void setCommentaire(String commentaire) {
        this.commentaire = commentaire;
    }
}
DBAdapater.java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class DBAdapter extends SQLiteOpenHelper {
 
//    Initialisation de la base de données "cahierdescharges"
    public static final String DB_NAME = "cahierdescharges.db";
    public static final int DB_VERSION = 29;
 
    public DBAdapter(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
 
        //    Création de la table "graphisme" et de ses attributs
        String CREATE_TABLE_GRAPHISME = "create table if not exists " + GRAPHISME.TABLE_GRAPHISME + " ( " + PRODUITS.ID + " integer primary key autoincrement, "
                + GRAPHISME.REFERENCE + " text not null, "
                + GRAPHISME.MAQUETTE + " BLOB not null, "
                + GRAPHISME.COULEUR_PRIMAIRE + " text not null, "
                + GRAPHISME.COULEUR_SECONDAIRE + " text not null, "
                + GRAPHISME.COULEUR_TERTIAIRE + " text not null, "
                + GRAPHISME.COMMENTAIRE + " text not null);";
 
        db.execSQL(CREATE_TABLE_GRAPHISME);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
        //    Suppression de la table si elle existe déjà dans la base de données
        db.execSQL("DROP TABLE IF EXISTS " + GRAPHISME.TABLE_GRAPHISME);
        onCreate(db);
    }
}
DBManager.java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class DBManager {
 
    private DBAdapter dba;
    private SQLiteDatabase db;
 
    private String[] resultColumns7 = new String[] { GRAPHISME.REFERENCE, GRAPHISME.MAQUETTE, GRAPHISME.COULEUR_PRIMAIRE,
            GRAPHISME.COULEUR_SECONDAIRE, GRAPHISME.COULEUR_TERTIAIRE, GRAPHISME.COMMENTAIRE };
 
    public DBManager(Context appContext) {
        dba = new DBAdapter(appContext);
    }
 
    private SQLiteDatabase open() {
        return dba.getWritableDatabase();
    }
 
    public void close() {
        if (dba != null) {
            dba.close();
        }
    }
 
    // Utiliser pour les images qui sont des BLOB
    public List<GRAPHISME> getGraphismeFromCursor(Cursor cursor) {
        if (cursor != null) {
            List<GRAPHISME> list = new ArrayList<GRAPHISME>();
            if (cursor.moveToFirst()) {
                do {
                    GRAPHISME cus = new GRAPHISME();
                    cus.setReference(cursor.getString(0));
                    cus.setMaquette(cursor.getBlob(1));
                    cus.setCouleur_primaire(cursor.getString(2));
                    cus.setCouleur_secondaire(cursor.getString(3));
                    cus.setCouleur_tertiaire(cursor.getString(4));
                    cus.setCouleur_tertiaire(cursor.getString(5));
                    list.add(cus);
                } while (cursor.moveToNext());
                cursor.close();
            }
            return list;
        } else {
            return null;
        }
    }
}
Quelqu'un aurait une idée svp ?