Bir Android uygulaması geliştiriyorum ve bazı bitmap'leri depolamak için bir Sqlite veritabanı kullanıyorum. Kullanıcı uygulamayı yüklediğinde bazı resimlerin otomatik olarak eklenmesini istiyorum.SQLite - insert ifadesi ile bir BLOB eklemek mümkün mü?
böyle SQLiteOpenHelper sınıfını kullanıyorum:
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]);
}
}
}
...
ben şöyle olacağını yukarıda gösterilen scriptSQLCreate parametresine sabit geçmek istiyorum:
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')"}
}
Herhangi bir yardım çok apreciated olacak
Thx, Tulio Zahn çok uzun onaltılık kullanabilirsiniz etmek gerçekten, gerçekten istiyorsanız
Humm, yaklaşımınız kesinlikle ilginç. Bir veritabanını sadece birkaçının yerine yüzlerce bitmap ile önceden doldurması gerekiyorsa daha da fazla. Bu durumda yüzlerce ekleme ifadesi olması çok pratik değildir. Yaklaşımını test edeceğim ama önce bütün bu görüntüleri yerleştirmek için bir çözüm bulmak zorundayım. Bunların birçoğuna sahip olmanız durumunda, sadece çekilebilir klasöre yerleştirmek çok pratik değildir. – tulio84z
İstediğiniz şey, projenizdeki varlıklar dizinidir --- orada dosyalara erişmenizi sağlayacak bir API vardır. dosya sistemindeki gerçek dosyalar: http://developer.android.com/reference/android/content/res/AssetManager.html –