私はAndroidアプリケーションを開発しています。私はSqliteデータベースを使ってビットマップをいくつか保存しています。ユーザーがアプリケーションをインストールしたときに、いくつかの画像が自動的に挿入されるようにしたい。SQLite - BLOBを挿入ステートメントで挿入できますか?
私はこのようなSQLiteOpenHelperクラスを使用しています:
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]);
}
}
}
...
私はそうのようになることの上に示されscriptSQLCreateパラメータに定数を渡したい:
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')"}
}
どのようなヘルプも非常に感謝します。
Thxを、 闘莉王ザーンあなたは非常に長い六角を使用することができますし、あなたが本当に、本当にしたい場合は
Humm、あなたのアプローチは間違いなく面白いです。たとえ数ビットの数ではなく、数百のビットマップでデータベースをあらかじめ準備する必要がある場合は、さらに多くのことが起こります。その場合、何百もの挿入ステートメントを持つことは非常に実用的ではありません。私はあなたのアプローチをテストしますが、まずそれらの画像をどこに置くべきかという問題に対する解決策を考え出す必要があります。それらをたくさん持っている場合には、それらをドロウアブルフォルダに置くだけでは非常に実用的ではないようです。 – tulio84z
あなたのプロジェクト内のアセットディレクトリは---そこにファイルとしてアクセスできるAPIがあります。ファイルシステム上の実際のファイル:http://developer.android.com/reference/android/content/res/AssetManager.html –