Android 图片以字节流方式存入本地数据库 怎么弄 求高手指点啊

Android 图片以字节流方式存入本地数据库 怎么弄 求高手指点啊,第1张

少年,数据库有个类型是blob,可以用这个类型存储,直接存储字节,步骤:

1.假设图片字段名Image,那么设置Image为blob字段

2.代码中将bimageview转换为字节以后,用ContentValues中的values.put("Image",byte[])然后或者是插入,或者是更新,用android的sqlite3中的 *** 作就可以了

如果你看上面的后半部分不太懂,可以百度一下:android sqlite3 的增删改查,就会看到里面有具体的步骤了,就是利用ContentValues进行sql语句处理

根据图片名称获取图片id,下面介绍两种方法,问题解决方法来源于android学习手册,360手机助手中下载。里面108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。

假如在drawable目录下放一个图片文件,由于一些原因,我们在程序中仅仅知道它的文件名,而不知道它的资源ID,当我们需要这个资源ID的时候,可以使用下面的一行代码获取到:

方法一:

Java代码

/**

* 获取图片名称获取图片的资源id的方法

* @param imageName

* @return

*/

public int getResource(String imageName){

Context ctx=getBaseContext()

int resId = getResources().getIdentifier(imageName, "drawable" , ctx.getPackageName())

return resId

方法二:

Java代码

/**

* 获取图片名称获取图片的资源id的方法

* @param imageName

* @return

*/

public int getResourceByReflect(String imageName){

Class drawable = R.drawable.class

Field field = null

int r_id

try {

field = drawable.getField(imageName)

r_id = field.getInt(field.getName())

} catch (Exception e) {

r_id=R.drawable.b_nothing

Log.e("ERROR", "PICTURE NOT FOUND!")

}

return r_id

}

知道资源ID,获取资源的文件名

getResources().getResourceName(resid)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9924712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存