イメージをsqlite db、blob-sに保存し、それらを暗号化したいと考えています。 Android-Universal-Image-Loaderをsqliteデータベースの画像と併用することはできますか?アンドロイドのユニバーサル画像ローダーはsqlite dbの画像で動作できますか?
答えて
UILは、SQLite DBのイメージをサポートしていません。しかし、あなたはこのサポートを自分で追加することができます。新しいスキーム/プロトコル名(例えばdb://)を用意して、ImageDownloader
を実装して設定してください。例えば
::
はとても私たちのURIが"// ...デシベル" のようになります。自分のスキームdb
を選択できます。
ImageDownloader
を実装します。私たちは私たちのスキームでURIを捕捉し、それを解析し、必要なデータをDBで見つけ出し、InputStream
(それはByteArrayInputStream
とすることができます)を作成する必要があります。
public class SqliteImageDownloader extends BaseImageDownloader {
private static final String SCHEME_DB = "db";
private static final String DB_URI_PREFIX = SCHEME_DB + "://";
public SqliteImageDownloader(Context context) {
super(context);
}
@Override
protected InputStream getStreamFromOtherSource(String imageUri, Object extra) throws IOException {
if (imageUri.startsWith(DB_URI_PREFIX)) {
String path = imageUri.substring(DB_URI_PREFIX.length());
// Your logic to retreive needed data from DB
byte[] imageData = ...;
return new ByteArrayInputStream(imageData);
} else {
return super.getStreamFromOtherSource(imageUri, extra);
}
}
}
はその後、我々はコンフィギュレーションにこのImageLoader
を設定します。
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
...
.imageDownloader(new SqliteImageDownloader(context))
.build();
ImageLoader.getInstance().init(config);
そして、我々は、DBからの画像を表示するには、次のことが可能です。
imageLoader.displayImage("db://mytable/13", imageView);
あなたのガイダンスに感謝します。私はそれを試してみます:) – Tamas
OK、私はちょうどやった、弱い携帯電話で、素晴らしい作品銀河系のエースです.dbから10Kの画像を読み込むのに20msほどかかります。しかし、同じコードをnexus 4やgalaxy s3で実行すると、同じ10k画像をロードするのに約1〜3秒かかります:)なぜこれが当てはまるのでしょうか? – Tamas
私のコードは、あなたが貼り付けたコードと同じですが、置き換えが必要な行は1つです:byte [] imageData = db.getImageData(imageId); データベースの読み取りにはネクサス4では約4〜10msかかりますが、画像の表示には1〜3秒かかります。 imagedownloaderの設定以外に、私はどこでもデフォルトの設定を使用しています。 – Tamas
- 1. ユニバーサル画像ローダーとCardview
- 2. ユニバーサル画像ローダーで保護された画像にアクセスする
- 3. ユニバーサル画像ローダー関連のない画像を設定する
- 4. ユニバーサル画像ローダー - 手動でキャッシュをクリアする
- 5. ユニバーサル画像ローダーの画像サイズを変更することはできません。
- 6. ユニバーサル画像ローダーで中間画像としてレイアウトを読み込む方法
- 7. ユニバーサル画像ローダーキープレシオ
- 8. ユニバーサル画像ローダーキャッシュ
- 9. グライド画像ローダーとHTTPSの画像リンク
- 10. ブラックベリー画像ローダー
- 11. Android:Volleyギャラリー付き画像ローダー
- 12. アンドロイドで画像(画像操作)をスクランブルする方法は?
- 13. Androidユニバーサル画像ローダーを使用してダウンロードした画像の向きが正しく表示されない
- 14. 画像と動画でアンドロイドで自動スライダを作成しますか?
- 15. 作物アンドロイド画像
- 16. スクリプトと画像のローダー
- 17. ユニバーサル画像ローダーが画像を読み込めない場合があります
- 18. アンドロイドで画像スライドショー
- 19. アンドロイドでぼかし画像
- 20. 画像処理:アンドロイドのAscii画像への画像
- 21. sqliteのUITableView画像
- 22. アンドロイドの画像にオーバーレイ画像がありますか?可能?
- 23. ajaxローダー画像を添付
- 24. アンドロイドで画像をキャプチャしますか?
- 25. 画像ビューで「ローダー」を表示
- 26. GIF画像アンドロイド
- 27. アップロードマルチパート画像アンドロイド
- 28. 画像ビューアにアンドロイド表示画像
- 29. アンドロイド:画面にフィットする画像ビューのストレッチ画像
- 30. この上の画像では、アンドロイド
あなたがそれを使用してみましたしましたか? – Luksprog
ファイルシステムからイメージをロードするために今使っています。私は入力としてbyte []を受け入れる文書やソースのメソッドを見ませんでした。 dbからビットマップを読み込むと、バイト[] .. – Tamas