相关疑难解决方法(0)

如何在Sqlite中将图像存储为blob以及如何检索它?

我想将图像(从url)存储到sqlite数据库中.

为此,我使用:

db = new DataBase(getApplicationContext());
URL url = new URL("http://sree.cc/wp-content/uploads/schogini_team.png");
URLConnection ucon = url.openConnection();
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is,128);
ByteArrayBuffer barb= new ByteArrayBuffer(128);

int current = 0;
while ((current = bis.read()) != -1) {
    barb.append((byte) current);
}

ContentValues filedata= new ContentValues();

filedata.put(DataBase.IMG_SRC,barb.toByteArray());

db.insert(DataBase.Table_Img, null, filedata);
Run Code Online (Sandbox Code Playgroud)

Insert():

public void insert(String tableImg, Object object,
        ContentValues dataToInsert) {
    // TODO Auto-generated method stub
    String sql = "INSERT INTO "+tableImg+" ("+ID+","+IMG_SRC+") " +
            "VALUES ('"+1+"','"+dataToInsert+"')";
    db.execSQL(sql);
} …
Run Code Online (Sandbox Code Playgroud)

android blob image

73
推荐指数
2
解决办法
18万
查看次数

什么是MINI_THUMB_MAGIC以及如何使用它?

背景

我注意到MediaStore.Images.ImageColumns的一个奇怪的列叫做" MINI_THUMB_MAGIC ".

文档说的只是:

迷你拇指id.

类型:INTEGER

常数值:"mini_thumb_magic"

这个问题

我的猜测是这个字段与MediaStore.Images.Thumbnails有关.

这是对的吗 ?如果没有,这是什么以及如何使用它?

如果它是正确的,我还有其他相关的问题:

  1. 它是原始图像的迷你尺寸图像吗?它使用相同的宽高比还是对它进行中心裁剪?

  2. 为什么"MICRO"的大小是方形(96 x 96),"MINI"的大小是非方形矩形(512 x 384)?

  3. 你如何使用它?我的猜测是,它是通过使用"做THUMB_DATA ",这是一个blob,所以你使用它像这样,但是那又有什么用"的宗旨getThumbnail "如果你已经有了这个领域?

  4. 如果方向值不为0,它会获得旋转的缩略图吗?意思是如果我想展示它,我不需要旋转图像?

  5. 是否可以与缩略图一起查询图像?也许使用内连接?

  6. 它适用于所有Android设备和版本吗?

  7. 为什么它甚至被称为"魔术"?是因为它也适用于视频(由于某种原因,音乐不存在,例如,它可能是专辑的封面照片)?

sql android mediastore android-contentresolver android-gallery

6
推荐指数
1
解决办法
1401
查看次数