Sto sviluppando un'applicazione Android e sto utilizzando un database Sqlite per archiviare alcuni bitmap. Voglio che alcune immagini vengano automaticamente inserite quando l'utente installa l'applicazione.SQLite - È possibile inserire un BLOB tramite istruzione di inserimento?
Sto utilizzando la classeSQLiteOpenHelper come questo:
public class DatabaseHelper extends SQLiteOpenHelper {
...
DatabaseHelper(Context context, String nameOfDB, int version, String[] scriptSQLCreate,
String scriptSQLDelete) {
super(context, nameOfDB, null, version);
this.scriptSQLCreate = scriptSQLCreate;
this.scriptSQLDelete = scriptSQLDelete;
}
@Override
public void onCreate(SQLiteDatabase db) {
int numScripts = scriptSQLCreate.length;
for(int i = 0; i<numScripts; i++){
Log.i(TAG,"Creating database, executing script " + i);
db.execSQL(scriptSQLCreate[i]);
}
}
}
...
voglio passare una costante per il parametro scriptSQLCreate mostrato sopra che sarebbe in questo modo:
private static final String[] SCRIPT_DATABASE_CREATE = {
"create table memes( id integer primary key autoincrement," +
+ " img blob not null," +
+ " name text not null unique)" ,
"insert into memes(img,name) values(BITMAP1,'1.jpg')",
"insert into memes(img,name) values(BITMAP2,'2.jpg')",
"insert into memes(img,name) values(BITMAP3,'3.jpg')"}
}
Qualsiasi aiuto sarà molto apprezzato,
Thx, Tulio Zahn
Humm, il tuo approccio è decisamente interessante. Ancor più se si ha bisogno di prepopolare un database con centinaia di bitmap invece di pochi. In tal caso diventa molto poco pratico avere centinaia di istruzioni di inserimento. Metterò alla prova il tuo approccio, ma prima devo trovare una soluzione al problema di dove mettere tutte quelle immagini. Nel caso di averne molti, solo metterli nella cartella drawable sembra molto poco pratico – tulio84z
Quello che vuoi è la directory assets nel tuo progetto --- c'è un'API che ti permetterà di accedere ai file lì come se fossero " re file reali sul filesystem: http://developer.android.com/reference/android/content/res/AssetManager.html –