我是android的新手,所以如果这是一个简单的问题,请原谅我,但是我试图在API 21中将图像插入到数据库中,所以我无法使用Files.readAllBytes。我在这里找到了一些将图像转换为数组的代码,但不确定该如何工作,也不确定其返回的内容。然后,我想使用数组并做一个ContentValues.put("Head", (the array) )。提前谢谢大家。
public boolean insertAvatar(Image Head) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
//File head = new File("C:capaa\\src\\main\\res\\drawable\\head2.png");
File head = new File("C:capaa\\src\\main\\res\\drawable\\head2.png");
try {
read(head); // calling the convert method on my head file
}catch (IOException e){ }
ContentValues.put("Head",head); // this is the line im not sure about
long ins = db.insert("Avatar", null, contentValues);
return true;
}
//converts to bytes
public byte[] read(File file) throws IOException {
ByteArrayOutputStream ous = null;
InputStream ios = null;
try {
byte[] buffer = new byte[4096];
ous = new ByteArrayOutputStream();
ios = new FileInputStream(file);
int read = 0;
while ((read = ios.read(buffer)) != -1) {
ous.write(buffer, 0, read);
}
}finally {
try {
if (ous != null)
ous.close();
} catch (IOException e) {
}
try {
if (ios != null)
ios.close();
} catch (IOException e) {
}
}
return ous.toByteArray();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。