SQLite 3.0とiOS5を使用しています。イメージをSQLiteデータベースに保存し、ios5で取得する
今、データベースのvrchar2データ型に画像を保存し、iPhoneのビューで取得したいと考えています。
今私はImageViewの中でそれを取得したい私は、BLOBデータ型に保存された画像を使用しているとのNSDataを通じて、私はit..Nutを取得した..
どのように私はそれを使用することができますか?
SQLite 3.0とiOS5を使用しています。イメージをSQLiteデータベースに保存し、ios5で取得する
今、データベースのvrchar2データ型に画像を保存し、iPhoneのビューで取得したいと考えています。
今私はImageViewの中でそれを取得したい私は、BLOBデータ型に保存された画像を使用しているとのNSDataを通じて、私はit..Nutを取得した..
どのように私はそれを使用することができますか?
sqliteファイルから情報を取得できるようにDAOを作成する必要があります。次に、そのファイルを呼び出して必要な情報をすべて取得します。
const char * myData = sqlite3_column_blob(statement, 1(this number is different according to your database));
int myDataSize = sqlite3_column_bytes(statement, 1);
NSData *data = [NSData dataWithBytes:myData length:myDataSize];
次にデータベースに画像全体を使用して、任意の特定の理由がある
myPhoto.thePhoto = [[UIImage alloc] initWithData:data];
ありがとう...それは動作します –
あなたは歓迎です – alecnash
あなたはまず使ったNSDataからUIImageを作成する必要があります。
UIImage *img = [[UIImage alloc] initWithData:theData];
は、その後、あなたのイメージ図では、この画像を使用することができます。
UIImageView *imgView = [[UIImageView alloc] initWithImage: img];
は、しかし、適切なメモリ管理を行うことを忘れないでください。 !
しかし、データベースからperticluarの行からイメージを取得するにはどうすればよいですか?データの意味は? –
? –
そのためには、取り込んでいるイメージにいくつかのロジックが必要です。正確に何を達成したいのですか? theDataは、検索したあなたの質問にあなたが言及したNSDATAを示します。 –
初期化: は、このようなブロブを取得しますか?
これは、NSDataをデータベースに格納することがデータベースに多くのデータを格納していると思うからです。これは、実行時間が長いほどデータベースが非常に重くなる可能性があります。
画像をドキュメントディレクトリに保存するか、ライブラリディレクトリに保存して、画像の完全な画像パスをデータベースに保存する方がよいでしょう。あなたがここに
UIImageView *imgView = [UIImageView setImage:[[UIImage alloc] initWithContentsOfFile:filePath]];
を呼び出す必要がImageViewの中でそれを取り出すその後
単にあなたが合格する必要があるすべては、あなたがデータベースからフェッチしている「filePathに」です。
希望すると、これが役立ちます。
ええと...より良いオプション...私はしようとします..ありがとう –
私はちょっと混乱しています。助けてください! –
さて、画像やDBについては、一部のサークルで意見の相違があります。あるキャンプでは、「DBにイメージを保存する」と、もう1つのキャンプに「イメージをファイルシステムに保存し、イメージへのパスをDBに保存する」ことがあります。それぞれの方法とのトレードオフがあります。 –
このリンクはあなたを助けます。 http://stackoverflow.com/questions/10811437/store-images-in-to-sqlite-database –