Страницы

Поиск по вопросам

суббота, 7 марта 2020 г.

Нужно ли проверять SQLiteDatabase db на null?

#android #sqlite


В своем андроид-приложении ни разу не проверял db != null, при этом запросы работают.
Прочитал, что надо проверять, к примеру, как в следующем коде.

SQLiteDatabase db = new ContactDbHelper(
                        getApplicationContext()).getWritableDatabase();
if (db != null) {
                 Toast.makeText(getApplicationContext(),
                 "DB Contacts is created", Toast.LENGTH_LONG).show();
}else {
                 Toast.makeText(getApplicationContext(),
                 "Error create database!", Toast.LENGTH_LONG).show();
}


Вопрос такой, нужно ли проверять SQLiteDatabase db на null? Это просто подстраховка
и если да, по каким причинам БД может не создаться, при условии, что код рабочий? 
    


Ответы

Ответ 1



Код открытия БД ищет БД по пути задаваемому методом Context.getDatabasePath(), легко может случиться, что какая-то сволочь однажды решит перегрузить этот метод в своем Activity и указать путь на внешний носитель - тогда вас будет ждать легкий Überraschung :) Так что проверять надо все таки.

Комментариев нет:

Отправить комментарий