Итак, у меня есть файл jpg в моем отрисовочном файле, и мне нужно добавить его в базу данных SQL. Для этого я попробовал этот код:
try {
File file = new File("res/drawable/user.jpg");
FileInputStream fs = new FileInputStream(file);
byte[] imgbyte = new byte[fs.available()];
fs.read(imgbyte);
contentValues.put("photo", imgbyte);
fs.close();
} catch (IOException e) {
e.printStackTrace();
return false;
}
long ins = db.insert(database.getTableNameProfiles(), null, contentValues);
Элемент не добавлен в базу данных, и программа перехватывает исключение (я не уверен в этом, но если я уберу «return false») другие вводят в мою базу данных правильно). У меня нет проблем с добавлением других элементов в мою базу данных, и кажется, что ошибка происходит из-за метода FileInputStream. Я делаю это правильно? Вот создание таблицы базы данных:
private static final String CREATE_TABLE_PROFILES = "CREATE TABLE "
+ TABLE_NAME_PROFILES + "(" + KEY_PROFILES_USERNAME
+ " TEXT NOT NULL PRIMARY KEY, " + KEY_PROFILES_PASSWORD
+ " TEXT NOT NULL," + KEY_PROFILES_MAIL + " TEXT NOT NULL UNIQUE,"
+ KEY_PROFILES_LASTNAME + " TEXT NOT NULL," + KEY_PROFILES_FIRSTNAME
+ " TEXT NOT NULL," + KEY_PROFILES_ADDRESS + " TEXT,"
+ KEY_PROFILES_SIZE + " TEXT," + KEY_PROFILES_PHOTO + " BLOB)";
db.execSQL(CREATE_TABLE_PROFILES);
Надеюсь, вы можете помочь.