Estoy desarrollando una aplicación de Android y estoy usando una base de datos Sqlite para almacenar algunos mapas de bits. Quiero que algunas imágenes se inserten automáticamente cuando el usuario instala la aplicación.SQLite - ¿Es posible insertar un BLOB a través de una declaración de inserción?
estoy usando el clase SQLiteOpenHelper así:
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]);
}
}
}
...
Quiero pasar una constante para el parámetro scriptSQLCreate mostrado anteriormente que sería de esta manera:
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')"}
}
Cualquier ayuda será muy apreciada,
Thx, Tulio Zahn
Humm, su enfoque es definitivamente interesante. Aún más si se necesita llenar previamente una base de datos con cientos de mapas de bits en lugar de solo unos pocos. En ese caso, es muy poco práctico tener cientos de instrucciones de inserción. Probaré su enfoque, pero primero debo encontrar una solución al problema de dónde colocar todas esas imágenes. En el caso de tener muchos de ellos, simplemente ponerlos en la carpeta dibujable también parece muy poco práctico – tulio84z
Lo que quiere es el directorio de activos en su proyecto --- hay una API que le permitirá acceder a los archivos allí como si ' re archivos reales en el sistema de archivos: http://developer.android.com/reference/android/content/res/AssetManager.html –