こんにちは私のプロジェクトでは、ユーザーが動物の名前を入力する検索バーがあり、私のアプリケーションにはその動物のアニメーション画像(.gif)が表示されます。 現在、私のSQLiteデータベースにイメージのパスを保存しています。私には2つの質問があります複数の画像をSQLiteに保存
a)私のデータベースは現在1つのイメージで構成されています。どのように拡張することができますか?イメージファイルごとにコードを書き直す必要がありますか?
b)検索はどのように行われますか?名前でイメージを検索するか、イメージタグ用に別の列を作成して検索する必要がありますか。
は、ここに私のコードです:
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ImageDatabase extends Activity{
private ImageView mImageView;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
mImageView = (ImageView) findViewById(R.id.image_view);
db = openOrCreateDatabase("Image.db", Context.MODE_PRIVATE, null);
db.execSQL("Create Table if not exists tb (a blob)");
}
public void saveImage(View view){
try {
FileInputStream fis = new FileInputStream("/storage/sdcard/gif_file.gif");
byte[] image = new byte[fis.available()];
fis.read(image);
ContentValues values = new ContentValues();
values.put("a", image);
db.insert("ImageTable", null, values);
fis.close();
}
catch (IOException e){
e.printStackTrace();
}
}
public void getImage(View view){
Cursor c = db.rawQuery("select = from tb", null);
if (c.moveToNext()){
byte[] image = c.getBlob(0);
Bitmap bmp = BitmapFactory.decodeByteArray(image, 0, image.length);
mImageView.setImageBitmap(bmp);
}
}
}
私は現在、自分のアプリケーションに150匹の動物を追加する予定です。ユーザーはそれを追加したり削除したりすることはできません。だから私は名前で検索するといいと思います。 第2に、私のコードはFileInputStream fis = new FileInputStream( "/ storage/sdcard/Images")のように見える必要があり、このフォルダ内に自分の画像が表示されるので、このように読むことができますか? – HeroicJokester
@HeroicJokester – fasteque
はい、私は150個のGIFをすべて準備しておきたいのですが、それらを追加したいのですが、アプリケーションのアーキテクチャについての詳細は、アプリケーション内に画像を埋め込んでいますか? ユーザーが編集または変更することはできません。ユーザーは動物の名前を検索するだけで、その名前の画像が表示されます。 機能的にすべての機能があります。 (PS入力も音声入力を追加することを考えていますが、後でそれを考えています)。 – HeroicJokester