Студия Android: Как преобразовать png из базы данных sql? - PullRequest
1 голос
/ 04 мая 2020

Итак, у меня есть файл 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);

Надеюсь, вы можете помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...